@import url("https://fonts.googleapis.com/css2?family=Michroma&family=Orbitron:wght@600;700;800;900&family=Rajdhani:wght@400;500;600;700&display=swap");
/* POLITA PUBLIC HEADER FOOTER SHELL V5 SAFE CSS */

.polita-public-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10000 !important;
  height: 58px !important;
  background: #000 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 clamp(18px, 4vw, 58px) !important;
  font-family: Orbitron, Rajdhani, "Segoe UI", system-ui, sans-serif !important;
}

.polita-public-header-left {
  display: flex !important;
  align-items: center !important;
  gap: 30px !important;
}

.polita-public-logo {
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

.polita-public-logo img {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 0 10px rgba(23,255,124,.16)) !important;
}

.polita-public-nav {
  display: flex !important;
  align-items: center !important;
  gap: 26px !important;
}

.polita-public-nav a {
  color: rgba(255,255,255,.86) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.polita-public-nav a:hover {
  color: #fff !important;
}

.polita-public-login {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 88px !important;
  height: 38px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  background: rgba(0,0,0,.55) !important;
  border: 1px solid rgba(78,244,255,.82) !important;
  box-shadow:
    0 0 14px rgba(78,244,255,.32),
    0 0 20px rgba(139,92,255,.28),
    inset 0 0 10px rgba(255,255,255,.04) !important;
}

.polita-public-footer {
  background: #050610 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  min-height: 150px !important;
  padding: 28px clamp(18px, 4vw, 58px) !important;
  font-family: Orbitron, Rajdhani, "Segoe UI", system-ui, sans-serif !important;
}

.polita-public-footer-inner {
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 34px !important;
}

.polita-public-footer-copy {
  max-width: 620px !important;
}

.polita-public-footer-copy p {
  margin: 0 0 22px !important;
  color: rgba(226,234,255,.82) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
}

.polita-public-footer-line {
  height: 1px !important;
  width: 100% !important;
  background: rgba(255,255,255,.10) !important;
  margin-bottom: 18px !important;
}

.polita-public-copyright {
  color: rgba(164,177,220,.82) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.polita-public-footer-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  min-width: 340px !important;
}

.polita-public-footer-nav a {
  color: rgba(255,255,255,.84) !important;
  text-decoration: none !important;
  padding: 10px 15px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  font-size: 14px !important;
  font-weight: 850 !important;
}

@media (max-width: 760px) {
  .polita-public-header {
    height: 56px !important;
    padding: 0 16px !important;
  }

  .polita-public-header-left {
    gap: 18px !important;
  }

  .polita-public-logo img {
    width: 34px !important;
    height: 34px !important;
  }

  .polita-public-nav {
    gap: 14px !important;
  }

  .polita-public-nav a {
    font-size: 13px !important;
  }

  .polita-public-login {
    min-width: 74px !important;
    height: 34px !important;
    font-size: 14px !important;
    padding: 0 12px !important;
  }

  .polita-public-footer-inner {
    display: block !important;
  }

  .polita-public-footer-nav {
    margin-top: 24px !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
  }
}

/* === Public subpage header/footer polish V1 - 20260603 === */
/* Applies only to non-home public pages that have body.polita-public-subpage */

body.polita-public-subpage .polita-public-header {
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow:
    0 1px 0 rgba(24,246,255,.08),
    0 12px 28px rgba(0,0,0,.28) !important;
}

body.polita-public-subpage .polita-public-header-left {
  min-width: 0 !important;
}

body.polita-public-subpage .polita-public-nav {
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body.polita-public-subpage .polita-public-nav a {
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

body.polita-public-subpage .polita-public-login {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Footer: keep divider, cleaner button set, no Explore/Leaderboard on public subpages */
body.polita-public-subpage .polita-public-footer {
  border-top: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 -1px 0 rgba(24,246,255,.08) !important;
}

body.polita-public-subpage .polita-public-footer-nav {
  justify-content: flex-end !important;
}

/* Header shrink behaviour: remove nav items from right to left so Login stays clean */
@media (max-width: 760px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(5) {
    display: none !important; /* Help */
  }
}

@media (max-width: 680px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(4) {
    display: none !important; /* Add Bot */
  }
}

@media (max-width: 590px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(3) {
    display: none !important; /* Downloads */
  }
}

@media (max-width: 500px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(2) {
    display: none !important; /* Leaderboard */
  }
}

@media (max-width: 420px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(1) {
    display: none !important; /* Explore */
  }

  body.polita-public-subpage .polita-public-header {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* === Public subpage header responsive polish V2 - softer hide points === */
/* Overrides V1 so nav buttons only vanish when Login is actually close */

@media (max-width: 999px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(1),
  body.polita-public-subpage .polita-public-nav a:nth-child(2),
  body.polita-public-subpage .polita-public-nav a:nth-child(3),
  body.polita-public-subpage .polita-public-nav a:nth-child(4),
  body.polita-public-subpage .polita-public-nav a:nth-child(5) {
    display: inline-flex !important;
  }

  body.polita-public-subpage .polita-public-nav {
    gap: 18px !important;
  }
}

@media (max-width: 640px) {
  body.polita-public-subpage .polita-public-nav {
    gap: 14px !important;
  }

  body.polita-public-subpage .polita-public-nav a:nth-child(5) {
    display: none !important; /* Help */
  }
}

@media (max-width: 560px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(4) {
    display: none !important; /* Add Bot */
  }
}

@media (max-width: 485px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(3) {
    display: none !important; /* Downloads */
  }
}

@media (max-width: 410px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(2) {
    display: none !important; /* Leaderboard */
  }
}

@media (max-width: 340px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(1) {
    display: none !important; /* Explore */
  }
}

/* === Public subpage mobile header simplify V7 === */
/* Mobile only: keep logo, Explore and Login. Desktop unchanged. */
@media (max-width: 760px) {
  body.polita-public-subpage .polita-public-header {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  body.polita-public-subpage .polita-public-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.polita-public-subpage .polita-public-logo {
    flex: 0 0 auto !important;
  }

  body.polita-public-subpage .polita-public-logo img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
  }

  body.polita-public-subpage .polita-public-nav {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.polita-public-subpage .polita-public-nav a {
    display: none !important;
  }

  body.polita-public-subpage .polita-public-nav a:nth-child(1) {
    display: inline-flex !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }

  body.polita-public-subpage .polita-public-login {
    flex: 0 0 auto !important;
    min-width: 84px !important;
    height: 36px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
}

/* === Public subpage header responsive final V8 === */
/* Desktop stays normal, narrow desktop/tablet hides links before overlap, mobile shows only Explore + Login */

body.polita-public-subpage .polita-public-header {
  overflow: hidden !important;
}

body.polita-public-subpage .polita-public-nav {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  white-space: nowrap !important;
  min-width: 0 !important;
}

body.polita-public-subpage .polita-public-nav a {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* First tighten spacing */
@media (max-width: 1080px) {
  body.polita-public-subpage .polita-public-nav {
    gap: 18px !important;
  }
}

/* Then remove from right to left before Login gets crowded */
@media (max-width: 980px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(5) {
    display: none !important; /* Help */
  }
}

@media (max-width: 900px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(4) {
    display: none !important; /* Add Bot */
  }
}

@media (max-width: 820px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(3) {
    display: none !important; /* Downloads */
  }
}

@media (max-width: 760px) {
  body.polita-public-subpage .polita-public-header {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  body.polita-public-subpage .polita-public-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.polita-public-subpage .polita-public-logo {
    flex: 0 0 auto !important;
  }

  body.polita-public-subpage .polita-public-logo img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
  }

  body.polita-public-subpage .polita-public-nav {
    gap: 0 !important;
    overflow: visible !important;
  }

  body.polita-public-subpage .polita-public-nav a {
    display: none !important;
  }

  body.polita-public-subpage .polita-public-nav a:nth-child(1) {
    display: inline-flex !important; /* Explore only */
    font-size: 13px !important;
  }

  body.polita-public-subpage .polita-public-login {
    flex: 0 0 auto !important;
    min-width: 84px !important;
    height: 36px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
  }
}

/* === Public subpage header responsive smoother V9 === */
/* Keeps desktop links visible longer, only hides when close to Login. */

body.polita-public-subpage .polita-public-header {
  overflow: hidden !important;
}

body.polita-public-subpage .polita-public-header-left {
  min-width: 0 !important;
}

body.polita-public-subpage .polita-public-nav {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.polita-public-subpage .polita-public-nav a {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

body.polita-public-subpage .polita-public-login {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Slightly reduce spacing before removing anything */
@media (max-width: 980px) {
  body.polita-public-subpage .polita-public-nav {
    gap: 14px !important;
  }
}

/* Remove from right to left, but later than V8 */
@media (max-width: 720px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(5) {
    display: none !important; /* Help */
  }
}

@media (max-width: 650px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(4) {
    display: none !important; /* Add Bot */
  }
}

@media (max-width: 585px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(3) {
    display: none !important; /* Downloads */
  }
}

@media (max-width: 500px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(2) {
    display: none !important; /* Leaderboard */
  }
}

/* True mobile: logo + Explore + Login only */
@media (max-width: 500px) {
  body.polita-public-subpage .polita-public-header {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 14px !important;
    gap: 10px !important;
  }

  body.polita-public-subpage .polita-public-header-left {
    gap: 14px !important;
  }

  body.polita-public-subpage .polita-public-logo img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
  }

  body.polita-public-subpage .polita-public-nav {
    gap: 0 !important;
    overflow: visible !important;
  }

  body.polita-public-subpage .polita-public-nav a {
    display: none !important;
  }

  body.polita-public-subpage .polita-public-nav a:nth-child(1) {
    display: inline-flex !important; /* Explore */
    font-size: 13px !important;
  }

  body.polita-public-subpage .polita-public-login {
    min-width: 84px !important;
    height: 36px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
  }
}

/* === Public subpage header final less aggressive V10 === */
/* This overrides all earlier V7/V8/V9 hide rules. Desktop keeps links until actually tight. */

body.polita-public-subpage .polita-public-header {
  overflow: hidden !important;
}

body.polita-public-subpage .polita-public-header-left {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.polita-public-subpage .polita-public-nav {
  display: flex !important;
  align-items: center !important;
  gap: clamp(10px, 1.35vw, 22px) !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.polita-public-subpage .polita-public-nav a:nth-child(1),
body.polita-public-subpage .polita-public-nav a:nth-child(2),
body.polita-public-subpage .polita-public-nav a:nth-child(3),
body.polita-public-subpage .polita-public-nav a:nth-child(4),
body.polita-public-subpage .polita-public-nav a:nth-child(5) {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

body.polita-public-subpage .polita-public-login {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Only now start removing links from right to left */
@media (max-width: 610px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(5) {
    display: none !important; /* Help */
  }
}

@media (max-width: 560px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(4) {
    display: none !important; /* Add Bot */
  }
}

@media (max-width: 510px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(3) {
    display: none !important; /* Downloads */
  }
}

@media (max-width: 455px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(2) {
    display: none !important; /* Leaderboard */
  }
}

/* True phone width: logo + Explore + Login only */
@media (max-width: 455px) {
  body.polita-public-subpage .polita-public-header {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 14px !important;
    gap: 10px !important;
  }

  body.polita-public-subpage .polita-public-header-left {
    gap: 14px !important;
  }

  body.polita-public-subpage .polita-public-logo img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
  }

  body.polita-public-subpage .polita-public-nav {
    gap: 0 !important;
    overflow: visible !important;
  }

  body.polita-public-subpage .polita-public-nav a {
    display: none !important;
  }

  body.polita-public-subpage .polita-public-nav a:nth-child(1) {
    display: inline-flex !important;
    font-size: 13px !important;
  }

  body.polita-public-subpage .polita-public-login {
    min-width: 84px !important;
    height: 36px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
  }
}

/* === Public subpage header tiny less aggressive V11 === */
/* Final polish: keep tabs visible slightly longer than V10. */

body.polita-public-subpage .polita-public-nav {
  gap: clamp(8px, 1.2vw, 20px) !important;
  overflow: visible !important;
}

body.polita-public-subpage .polita-public-nav a:nth-child(1),
body.polita-public-subpage .polita-public-nav a:nth-child(2),
body.polita-public-subpage .polita-public-nav a:nth-child(3),
body.polita-public-subpage .polita-public-nav a:nth-child(4),
body.polita-public-subpage .polita-public-nav a:nth-child(5) {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* Later hide points than V10 */
@media (max-width: 570px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(5) {
    display: none !important; /* Help */
  }
}

@media (max-width: 530px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(4) {
    display: none !important; /* Add Bot */
  }
}

@media (max-width: 490px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(3) {
    display: none !important; /* Downloads */
  }
}

@media (max-width: 430px) {
  body.polita-public-subpage .polita-public-nav a:nth-child(2) {
    display: none !important; /* Leaderboard */
  }
}

/* True phone width: logo + Explore + Login only */
@media (max-width: 430px) {
  body.polita-public-subpage .polita-public-header {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 14px !important;
    gap: 10px !important;
  }

  body.polita-public-subpage .polita-public-header-left {
    gap: 14px !important;
  }

  body.polita-public-subpage .polita-public-logo img {
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
  }

  body.polita-public-subpage .polita-public-nav {
    gap: 0 !important;
    overflow: visible !important;
  }

  body.polita-public-subpage .polita-public-nav a {
    display: none !important;
  }

  body.polita-public-subpage .polita-public-nav a:nth-child(1) {
    display: inline-flex !important;
    font-size: 13px !important;
  }

  body.polita-public-subpage .polita-public-login {
    min-width: 84px !important;
    height: 36px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
  }
}

/* Dashboard cleanup CSS import */
@import url("/dashboard-home-cleanup.css?v=2");
