@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Inter:wght@400;500;700;800&display=swap');

:root{--bg:#05090d;--panel:#0b131a;--panel-2:#101b25;--border:#1d5663;--border-soft:#183541;--cyan:#31f4e7;--cyan-2:#2aaee8;--blue:#6d8cff;--text:#d9f7ff;--muted:#8aa7b4;--white:#ffffff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top left,rgba(49,244,231,.13),transparent 32rem),radial-gradient(circle at 85% 15%,rgba(109,140,255,.11),transparent 28rem),linear-gradient(180deg,#05090d 0%,#061019 45%,#030609 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 80%)}
.page{width:min(1120px,calc(100% - 32px));margin:0 auto}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:28px 0 18px;border-bottom:1px solid var(--border-soft)}
.brand{display:flex;gap:16px;align-items:center;color:inherit;text-decoration:none}
.brand img{width:74px;height:74px;filter:drop-shadow(0 0 16px rgba(49,244,231,.22))}
.brand-title{display:block;color:var(--cyan);font-family:Orbitron,sans-serif;font-weight:900;letter-spacing:.11em;font-size:1.25rem}
.brand-subtitle{display:block;color:var(--muted);margin-top:5px;font-size:.85rem;text-transform:uppercase;letter-spacing:.14em}
.nav{display:flex;align-items:center;gap:8px;background:rgba(12,22,31,.8);border:1px solid var(--border-soft);padding:7px;border-radius:999px}
.nav a{color:var(--text);text-decoration:none;padding:9px 14px;border-radius:999px;font-size:.86rem;transition:.18s ease;white-space:nowrap}
.nav a:hover{background:rgba(49,244,231,.14);color:var(--cyan)}
.hero{padding:54px 0 38px}
.hero-wide .hero-copy{max-width:100%;width:100%}
.hero-copy{border:1px solid var(--border);background:linear-gradient(135deg,rgba(11,19,26,.92),rgba(10,16,23,.72));border-radius:22px;padding:42px;box-shadow:0 0 0 1px rgba(49,244,231,.04),0 24px 70px rgba(0,0,0,.35)}
.eyebrow{color:var(--cyan);text-transform:uppercase;letter-spacing:.2em;font-family:Orbitron,sans-serif;font-size:.78rem;margin:0 0 18px}
h1,h2,h3{font-family:Orbitron,sans-serif;line-height:1.05;margin:0}
h1{font-size:clamp(2.4rem,6vw,5rem);color:var(--white);text-shadow:0 0 24px rgba(49,244,231,.18)}
.lead{max-width:720px;color:#b9d2dc;font-size:1.12rem;line-height:1.7;margin:22px 0 0}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.actions.compact{margin-top:18px}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:13px 20px;font-weight:800;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;font:inherit}
.button.primary{background:linear-gradient(135deg,var(--cyan),var(--cyan-2));color:#031014;box-shadow:0 0 24px rgba(49,244,231,.22)}
.button.secondary{border-color:var(--border);color:var(--text);background:rgba(255,255,255,.03)}
.server-card,.feature,.panel,.discord-cta{border:1px solid var(--border-soft);background:linear-gradient(180deg,rgba(16,27,37,.88),rgba(8,14,20,.9));border-radius:18px}
.hint,.muted{color:var(--muted);line-height:1.55}
.section{padding:32px 0}
.section-heading{margin-bottom:20px}
.section-heading span{color:var(--blue);font-family:Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.86rem}
.section-heading h2{margin-top:8px;color:var(--text);font-size:clamp(1.6rem,3vw,2.4rem)}
.status-layout,.server-grid,.discord-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:start}
.server-card{padding:24px}
.server-card h3{color:var(--cyan);margin-bottom:10px}
.server-card.ghost{opacity:.78;border-style:dashed}
.tracker-card{overflow:hidden}
.gt-banner{display:inline-block;max-width:100%;margin-top:14px;border-radius:10px;overflow:hidden;border:1px solid var(--border-soft);background:#050b10}
.gt-banner img{display:block;max-width:100%;height:auto}
.server-ip-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px;color:var(--muted)}
.server-ip-row code{color:var(--cyan);background:#050b10;border:1px solid var(--border-soft);border-radius:999px;padding:8px 12px;font-family:Consolas,monospace}
dl{display:grid;gap:12px;margin:18px 0 0}
dl div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border-soft);padding-top:12px}
dt{color:var(--muted)}
dd{margin:0;text-align:right;color:var(--text);font-weight:700}
.panel{padding:30px}
.copy-block{color:#bfd8e2;line-height:1.75;font-size:1.02rem}
.copy-block p:first-child{color:var(--cyan);font-weight:800}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feature{padding:22px;min-height:145px}
.feature strong{display:block;color:var(--cyan);font-family:Orbitron,sans-serif;margin-bottom:12px}
.feature span{color:var(--muted);line-height:1.55}
.discord-section .server-card{min-height:260px}
.discord-widget{width:100%;min-height:500px;border:1px solid var(--border-soft);border-radius:18px;background:#101319}
.rules{display:grid;gap:10px;color:#bfd8e2}
.rules p{margin:0;border-left:3px solid var(--cyan);padding:8px 0 8px 14px;background:rgba(49,244,231,.04)}
.discord-cta{text-align:center;padding:44px 24px;margin:34px 0 22px}
.discord-cta h2{font-size:2rem}
.discord-cta p{color:var(--muted);max-width:620px;margin:14px auto 24px;line-height:1.65}
.footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--border-soft);padding:24px 0 36px;color:var(--muted);font-size:.9rem}
@media (max-width:860px){.site-header{align-items:flex-start;flex-direction:column;gap:18px}.nav{width:100%;overflow:auto;justify-content:flex-start}.hero-copy{padding:30px}.status-layout,.server-grid,.feature-grid,.discord-layout{grid-template-columns:1fr}dl div{flex-direction:column;gap:4px}dd{text-align:left}}
@media (max-width:520px){.page{width:min(100% - 20px,1120px)}.brand img{width:58px;height:58px}.brand-title{font-size:1rem}.hero-copy,.panel{padding:22px}}


/* Stats page */
.stats-hero {
  padding-top: 3rem;
}

.stats-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.stat-card {
  border: 1px solid rgba(32, 220, 226, 0.25);
  background: rgba(10, 24, 34, 0.75);
  border-radius: 18px;
  padding: 1.25rem;
  box-shadow: 0 0 28px rgba(0, 224, 255, 0.06);
}

.stat-label {
  display: block;
  color: var(--muted, #9fb8c8);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.stat-card strong {
  color: var(--accent, #24f0e2);
  font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.leaderboard-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.75fr;
  gap: 0.75rem;
  align-items: start;
}

.leaderboard-grid .panel:first-child {
  grid-row: span 2;
}

.panel {
  border: 1px solid rgba(32, 220, 226, 0.25);
  background: rgba(10, 24, 34, 0.75);
  border-radius: 18px;
  padding: 1.25rem;
}

.panel-heading h2 {
  margin: 0 0 1rem;
}

.table-wrap {
  overflow-x: auto;
}

.stats-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.stats-table th,
.stats-table td {
  padding: 0.85rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid rgba(32, 220, 226, 0.16);
}

.stats-table th {
  color: var(--accent, #24f0e2);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.stats-table td {
  color: var(--text, #e7fbff);
}

.rank-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.rank-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(32, 220, 226, 0.16);
  padding: 0.85rem 0;
  color: var(--text, #e7fbff);
}

.rank-list li strong {
  color: var(--accent, #24f0e2);
  white-space: nowrap;
}

.stats-note {
  margin-top: 1rem;
}

.stats-note p {
  color: var(--muted, #9fb8c8);
}

@media (max-width: 900px) {
  .stats-summary-grid,
  .leaderboard-grid {
    grid-template-columns: 1fr;
  }

  .leaderboard-grid .panel:first-child {
    grid-row: auto;
  }
}


.stats-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem 0 1rem;
}

.highlight-card {
  min-height: 145px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.highlight-card strong {
  display: block;
  margin-bottom: 0.4rem;
  line-height: 1.05;
}

.stat-detail {
  color: var(--muted, #9fb8c8);
  font-size: 0.95rem;
}

.compact-summary {
  margin-top: 1rem;
}

@media (max-width: 900px) {
  .stats-highlight-grid {
    grid-template-columns: 1fr;
  }
}


.stats-update-box {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 1.5rem 0 0;
}

.stats-update-box > div {
  border: 1px solid rgba(32, 220, 226, 0.25);
  background: rgba(10, 24, 34, 0.75);
  border-radius: 16px;
  padding: 0.95rem 1.15rem;
  min-width: 220px;
  box-shadow: 0 0 24px rgba(0, 224, 255, 0.05);
}

.update-label {
  display: block;
  color: var(--muted, #9fb8c8);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.35rem;
}

.stats-update-box strong {
  color: var(--cyan, #31f4e7);
  font-size: 1rem;
}

@media (max-width: 520px) {
  .stats-update-box {
    flex-direction: column;
  }

  .stats-update-box > div {
    width: 100%;
    min-width: 0;
  }
}


.player-search-panel {
  margin: 1rem 0 2rem;
}

.search-help {
  color: var(--muted, #9fb8c8);
  margin: -0.25rem 0 1rem;
}

.player-search-row {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.player-search-input {
  width: 100%;
  border: 1px solid rgba(32, 220, 226, 0.28);
  background: rgba(3, 10, 16, 0.85);
  color: var(--text, #e7fbff);
  border-radius: 14px;
  padding: 0.95rem 1rem;
  font: inherit;
  outline: none;
}

.player-search-input:focus {
  border-color: var(--cyan, #31f4e7);
  box-shadow: 0 0 0 3px rgba(49, 244, 231, 0.08);
}

.player-search-results {
  display: grid;
  gap: 0.6rem;
}

.player-result {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1rem;
  align-items: center;
  border: 1px solid rgba(32, 220, 226, 0.18);
  background: rgba(10, 24, 34, 0.48);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  color: var(--text, #e7fbff);
  text-decoration: none;
}

.player-result:hover {
  border-color: rgba(49, 244, 231, 0.5);
  background: rgba(49, 244, 231, 0.07);
}

.player-result-name,
.player-link {
  color: var(--cyan, #31f4e7);
  font-weight: 800;
  text-decoration: none;
}

.player-link:hover {
  text-decoration: underline;
}

.player-profile-hero h1 {
  word-break: break-word;
}

.profile-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}

.profile-rank-grid {
  grid-template-columns: 1fr 1fr;
}

.profile-rank-grid .panel:first-child {
  grid-row: auto;
}

.profile-rank-list {
  display: grid;
  gap: 0.85rem;
}

.profile-rank-list div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(32, 220, 226, 0.16);
  padding-bottom: 0.85rem;
}

.profile-rank-list span {
  color: var(--muted, #9fb8c8);
}

.profile-rank-list strong {
  color: var(--cyan, #31f4e7);
}

.similar-player-list {
  display: grid;
  gap: 0.6rem;
  margin: 1rem 0;
}

@media (max-width: 900px) {
  .profile-stat-grid,
  .profile-rank-grid {
    grid-template-columns: 1fr;
  }

  .player-result {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}


/* Rank/card polish */
.overall-rank-card {
  border-color: rgba(255, 221, 87, 0.55);
  background: linear-gradient(135deg, rgba(255, 221, 87, 0.09), rgba(10, 24, 34, 0.75));
  box-shadow: 0 0 28px rgba(255, 221, 87, 0.07);
}

.overall-rank-card strong {
  color: #ffdd57;
}

.leaderboard-grid {
  gap: 0.75rem;
}

.leaderboard-grid .panel {
  padding: 1rem;
}

.rank-list li {
  padding: 0.65rem 0;
}

.panel-heading h2 {
  margin-bottom: 0.75rem;
}


/* Leaderboard layout + top 3 row styling */
.leaderboard-grid {
  grid-template-columns: minmax(0, 1.55fr) 255px;
  gap: 0.6rem;
  align-items: start;
}

.leaderboard-grid > .panel:nth-child(2),
.leaderboard-grid > .panel:nth-child(3) {
  max-width: 255px;
}

.stats-table tbody tr.rank-gold {
  background: linear-gradient(90deg, rgba(255, 221, 87, 0.13), rgba(255, 221, 87, 0.03));
}

.stats-table tbody tr.rank-silver {
  background: linear-gradient(90deg, rgba(220, 238, 255, 0.11), rgba(220, 238, 255, 0.025));
}

.stats-table tbody tr.rank-bronze {
  background: linear-gradient(90deg, rgba(255, 168, 76, 0.12), rgba(255, 168, 76, 0.025));
}

.stats-table tbody tr.rank-gold td:first-child,
.stats-table tbody tr.rank-silver td:first-child,
.stats-table tbody tr.rank-bronze td:first-child {
  font-weight: 900;
}

.stats-table tbody tr.rank-gold td:first-child {
  color: #ffdd57;
}

.stats-table tbody tr.rank-silver td:first-child {
  color: #dceeff;
}

.stats-table tbody tr.rank-bronze td:first-child {
  color: #ffa84c;
}

.stats-table tbody tr.rank-gold .player-link {
  color: #ffdd57;
}

.stats-table tbody tr.rank-silver .player-link {
  color: #dceeff;
}

.stats-table tbody tr.rank-bronze .player-link {
  color: #ffa84c;
}

@media (max-width: 900px) {
  .leaderboard-grid {
    grid-template-columns: 1fr;
  }

  .leaderboard-grid > .panel:nth-child(2),
  .leaderboard-grid > .panel:nth-child(3) {
    max-width: none;
  }
}


/* Final compact leaderboard override */
@media (min-width: 901px) {
  .leaderboard-grid {
    grid-template-columns: minmax(0, 1.55fr) 255px !important;
    gap: 0.6rem !important;
  }

  .leaderboard-grid .panel:first-child {
    grid-row: span 2;
  }
}


/* Compact hero search */
.stats-update-box {
  align-items: flex-start;
}

.hero-search-card {
  border: 1px solid rgba(32, 220, 226, 0.25);
  background: rgba(10, 24, 34, 0.75);
  border-radius: 16px;
  padding: 0.95rem 1.15rem;
  min-width: 260px;
  flex: 1 1 320px;
  position: relative;
  box-shadow: 0 0 24px rgba(0, 224, 255, 0.05);
}

.hero-search-wrap {
  position: relative;
}

.player-search-input.compact {
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  min-height: 0;
  margin: 0;
}

.player-search-results.compact {
  position: absolute;
  z-index: 50;
  top: calc(100% + 0.45rem);
  left: 0;
  right: 0;
  max-height: 320px;
  overflow-y: auto;
  background: rgba(4, 13, 20, 0.98);
  border: 1px solid rgba(32, 220, 226, 0.28);
  border-radius: 14px;
  padding: 0.45rem;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
  display: none;
}

.hero-search-card:focus-within .player-search-results.compact {
  display: grid;
}

.player-search-results.compact .muted {
  margin: 0;
  padding: 0.65rem 0.75rem;
}

.player-search-results.compact .player-result {
  grid-template-columns: 1fr auto auto;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
}

@media (max-width: 700px) {
  .hero-search-card {
    flex-basis: 100%;
    min-width: 0;
  }

  .player-search-results.compact {
    position: static;
    margin-top: 0.5rem;
    max-height: none;
  }

  .hero-search-card:focus-within .player-search-results.compact {
    display: grid;
  }
}


.player-search-panel {
  display: none;
}


/* Final leaderboard badge + right-column spacing fix */
.stats-table .rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  border: 1px solid rgba(49, 244, 231, 0.55);
  background: rgba(49, 244, 231, 0.08);
  color: var(--cyan, #31f4e7);
  font-weight: 900;
  line-height: 1;
}

.stats-table tr.rank-gold .rank-badge {
  background: #ffdd57;
  border-color: #ffdd57;
  color: #061018;
}

.stats-table tr.rank-silver .rank-badge {
  background: #dceeff;
  border-color: #dceeff;
  color: #061018;
}

.stats-table tr.rank-bronze .rank-badge {
  background: #ffa84c;
  border-color: #ffa84c;
  color: #061018;
}

@media (min-width: 901px) {
  .leaderboard-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 255px !important;
    grid-template-rows: auto auto !important;
    gap: 0.75rem 0.75rem !important;
    align-items: start !important;
  }

  .leaderboard-grid > .panel:first-child {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  .leaderboard-grid > .panel:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    max-width: 255px !important;
  }

  .leaderboard-grid > .panel:nth-child(3) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    max-width: 255px !important;
    margin-top: 0 !important;
  }
}


/* Correct side leaderboard column layout */
@media (min-width: 901px) {
  .leaderboard-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 255px !important;
    gap: 0.75rem !important;
    align-items: start !important;
  }

  .leaderboard-grid > .panel:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .side-leaderboards {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    align-self: start !important;
  }

  .side-leaderboards > .panel {
    width: 255px !important;
    max-width: 255px !important;
    margin: 0 !important;
  }
}

@media (max-width: 900px) {
  .leaderboard-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }

  .side-leaderboards {
    display: grid !important;
    gap: 0.75rem !important;
  }

  .side-leaderboards > .panel {
    max-width: none !important;
  }
}

/* Circular rank badges */
.stats-table .rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  border: 1px solid rgba(49, 244, 231, 0.55);
  background: rgba(49, 244, 231, 0.08);
  color: var(--cyan, #31f4e7);
  font-weight: 900;
  line-height: 1;
}

.stats-table tr.rank-gold .rank-badge {
  background: #ffdd57;
  border-color: #ffdd57;
  color: #061018;
}

.stats-table tr.rank-silver .rank-badge {
  background: #dceeff;
  border-color: #dceeff;
  color: #061018;
}

.stats-table tr.rank-bronze .rank-badge {
  background: #ffa84c;
  border-color: #ffa84c;
  color: #061018;
}
