.polita-site-header {
  position: sticky;
  top: 0;
  z-index: 99999;
  width: 100%;
  box-sizing: border-box;
  padding: 14px 24px;
  background: rgba(5, 8, 20, 0.96);
  border-bottom: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 35px rgba(0,0,0,0.35);
  transition: transform 0.28s ease, opacity 0.28s ease;
}

.polita-site-header.polita-header-hidden {
  transform: translateY(-110%);
  opacity: 0;
}

.polita-header-inner {
  max-width: 1250px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.polita-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  letter-spacing: 0.5px;
  min-width: auto !important;
}

.polita-brand-icon {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 0 8px rgba(0, 238, 255, 0.35));
}

.polita-brand-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  line-height: 1;
  white-space: nowrap;
}

.polita-word {
  color: #ffffff;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: 1px;
}

.polita-plus {
  color: #00f06a;
  font-size: 27px;
  font-weight: 900;
  line-height: 0.9;
  margin-left: -1px;
}

.polita-header-links {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.polita-header-links a {
  color: #ffffff;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 14px;
  padding: 9px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.09);
  border: 1px solid rgba(255,255,255,0.14);
}

.polita-header-links a:hover,
.polita-brand:hover {
  opacity: 0.92;
}

.polita-header-links a.primary {
  background: #7c4dff;
  border-color: rgba(255,255,255,0.18);
}

body.polita-has-header > header:not(.polita-site-header),
body.polita-has-header > nav:not(.polita-header-links),
body.polita-has-header .site-header,
body.polita-has-header .navbar,
body.polita-has-header .topbar,
body.polita-has-header .main-header {
  display: none !important;
}

body.polita-has-header {
  display: block !important;
  align-items: initial !important;
  justify-content: initial !important;
  padding: 0 !important;
}

body.polita-has-header > .card {
  margin: 80px auto 40px !important;
}

body.polita-has-header .wrap,
body.polita-has-header .card,
body.polita-has-header .hero {
  position: relative;
  z-index: 2;
}

@media (max-width: 760px) {
  .polita-site-header {
    padding: 12px 14px;
  }

  .polita-header-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .polita-brand-icon {
    width: 36px !important;
    height: 36px !important;
  }

  .polita-word {
    font-size: 22px;
  }

  .polita-plus {
    font-size: 24px;
    margin-left: -1px;
  }

  .polita-header-links a {
    font-size: 13px;
    padding: 8px 10px;
  }
}

.polita-site-footer {
  position: relative;
  z-index: 5;
  width: 100%;
  box-sizing: border-box;
  margin-top: 70px;
  padding: 34px 24px;
  background: rgba(5, 8, 20, 0.96);
  border-top: 1px solid rgba(255,255,255,0.12);
}

.polita-footer-inner {
  max-width: 1250px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 26px;
  align-items: start;
}

.polita-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 900;
  letter-spacing: 0.5px;
}

.polita-footer-brand img {
  width: 38px;
  height: 38px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(0, 238, 255, 0.28));
}

.polita-footer-word {
  color: #ffffff;
  font-size: 23px;
  font-weight: 900;
  letter-spacing: 1px;
}

.polita-footer-plus {
  color: #00f06a;
  font-size: 25px;
  font-weight: 900;
  margin-left: -1px;
}

.polita-footer-copy {
  margin: 14px 0 0;
  color: #bfc7ff;
  line-height: 1.6;
  max-width: 580px;
  font-family: Arial, Helvetica, sans-serif;
}

.polita-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.polita-footer-links a {
  color: #ffffff;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: 14px;
  padding: 9px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
}

.polita-footer-links a.primary {
  background: #7c4dff;
  border-color: rgba(255,255,255,0.18);
}

.polita-footer-bottom {
  max-width: 1250px;
  margin: 24px auto 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.1);
  color: #8f99d6;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
}

@media (max-width: 760px) {
  .polita-footer-inner {
    grid-template-columns: 1fr;
  }

  .polita-footer-links {
    justify-content: flex-start;
  }
}

/* Keep decorative background fully in the background */
html, body {
  overflow-x: hidden;
}

body {
  position: relative;
}

/* Soft dark veil over the background image so pink objects stop standing out */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(4, 7, 18, 0.42);
  pointer-events: none;
  z-index: 0;
}

/* Make sure actual site UI stays above the background veil */
.polita-site-header,
.polita-site-footer,
.wrap,
.card,
.hero,
.panel,
.feature,
.step,
main,
section {
  position: relative;
  z-index: 2;
}

/* Make content blocks more solid so background shapes do not show through */
.hero,
.card,
.panel,
.feature,
.step {
  background: rgba(5, 8, 20, 0.94) !important;
  overflow: hidden;
}

/* Keep header/footer fully solid and clean */
.polita-site-header {
  background: rgba(5, 8, 20, 0.98) !important;
}

.polita-site-footer {
  background: rgba(5, 8, 20, 0.98) !important;
}

/* Animated Polita+ background */
.polita-animated-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 20%, rgba(180, 0, 255, 0.20), transparent 28%),
    radial-gradient(circle at 85% 75%, rgba(0, 120, 255, 0.20), transparent 32%),
    radial-gradient(circle at 50% 95%, rgba(0, 238, 255, 0.10), transparent 38%);
}

.polita-wave {
  position: absolute;
  left: -15%;
  width: 130%;
  height: 240px;
  border-radius: 50%;
  opacity: 0.42;
  filter: blur(2px);
  transform: rotate(-4deg);
  animation: politaWaveMove 18s ease-in-out infinite alternate;
}

.polita-wave.one {
  bottom: 4%;
  background: linear-gradient(90deg, transparent, rgba(0, 170, 255, 0.22), rgba(0, 255, 220, 0.16), transparent);
  box-shadow: 0 0 40px rgba(0, 170, 255, 0.24);
}

.polita-wave.two {
  bottom: 12%;
  height: 180px;
  opacity: 0.28;
  background: linear-gradient(90deg, transparent, rgba(124, 77, 255, 0.22), rgba(255, 0, 220, 0.12), transparent);
  animation-duration: 26s;
  animation-direction: alternate-reverse;
}

.polita-wave.three {
  top: 8%;
  height: 210px;
  opacity: 0.18;
  background: linear-gradient(90deg, transparent, rgba(160, 0, 255, 0.20), rgba(0, 120, 255, 0.12), transparent);
  animation-duration: 32s;
}

.polita-particle {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(126, 90, 255, 0.75);
  box-shadow: 0 0 16px rgba(126, 90, 255, 0.75);
  animation: politaParticleFloat 14s linear infinite;
}

.polita-particle.green {
  background: rgba(0, 240, 106, 0.75);
  box-shadow: 0 0 16px rgba(0, 240, 106, 0.65);
}

.polita-particle.blue {
  background: rgba(0, 170, 255, 0.75);
  box-shadow: 0 0 16px rgba(0, 170, 255, 0.65);
}

.polita-shape {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 3px solid rgba(180, 0, 255, 0.32);
  transform: rotate(45deg);
  opacity: 0.36;
  animation: politaShapeDrift 24s ease-in-out infinite alternate;
}

.polita-shape.blue {
  border-color: rgba(0, 120, 255, 0.34);
}

.polita-shape.green {
  border-color: rgba(0, 240, 106, 0.24);
}

@keyframes politaWaveMove {
  0% {
    transform: translateX(-3%) translateY(0) rotate(-4deg) scale(1);
  }
  50% {
    transform: translateX(4%) translateY(-18px) rotate(-2deg) scale(1.03);
  }
  100% {
    transform: translateX(8%) translateY(12px) rotate(-5deg) scale(1.06);
  }
}

@keyframes politaParticleFloat {
  0% {
    transform: translateY(30px) translateX(0) scale(0.7);
    opacity: 0;
  }
  15% {
    opacity: 0.85;
  }
  80% {
    opacity: 0.55;
  }
  100% {
    transform: translateY(-120vh) translateX(42px) scale(1.15);
    opacity: 0;
  }
}

@keyframes politaShapeDrift {
  0% {
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
  100% {
    transform: translate3d(38px, -32px, 0) rotate(72deg);
  }
}

/* Keep all real page content above animated background */
.polita-site-header,
.polita-site-footer,
.wrap,
.card,
.hero,
.panel,
.feature,
.step,
main,
section {
  position: relative;
  z-index: 2;
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .polita-wave,
  .polita-particle,
  .polita-shape {
    animation: none !important;
  }
}

/* ================================
   Polita+ sci-fi visual upgrade
   ================================ */

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

html,
body {
  font-family: "Exo 2", Arial, Helvetica, sans-serif !important;
}

h1,
h2,
h3,
.polita-brand-wordmark,
.polita-header-links a,
.btn,
button,
.tag,
.status,
code {
  font-family: "Exo 2", Arial, Helvetica, sans-serif !important;
}

h1,
h2,
.polita-word,
.polita-plus {
  letter-spacing: -0.6px;
}

h1 {
  text-shadow: 0 0 28px rgba(124, 77, 255, 0.16);
}

.polita-site-header,
.polita-site-footer {
  background:
    linear-gradient(120deg, rgba(5,8,20,0.98), rgba(12,10,32,0.98), rgba(5,8,20,0.98)) !important;
  background-size: 220% 220% !important;
  animation: politaHeaderNebula 16s ease-in-out infinite alternate;
}

/* Main animated nebula layer */
.polita-animated-bg {
  background:
    radial-gradient(circle at 18% 22%, rgba(205, 0, 255, 0.22), transparent 30%),
    radial-gradient(circle at 86% 74%, rgba(0, 110, 255, 0.24), transparent 34%),
    radial-gradient(circle at 50% 95%, rgba(0, 238, 255, 0.12), transparent 40%),
    linear-gradient(125deg, rgba(4, 6, 18, 0.96), rgba(24, 8, 48, 0.78), rgba(4, 10, 28, 0.96));
  background-size: 160% 160%, 150% 150%, 180% 180%, 240% 240%;
  animation: politaNebulaShift 34s ease-in-out infinite alternate;
}

/* Extra moving colour wash */
.polita-animated-bg::before {
  content: "";
  position: absolute;
  inset: -20%;
  background:
    conic-gradient(
      from 120deg,
      transparent,
      rgba(124, 77, 255, 0.12),
      rgba(0, 170, 255, 0.10),
      rgba(255, 0, 220, 0.10),
      transparent
    );
  filter: blur(52px);
  opacity: 0.7;
  animation: politaNebulaRotate 55s linear infinite;
}

/* Star field */
.polita-animated-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.40) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(0,238,255,0.28) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(180,0,255,0.24) 0 1px, transparent 1px);
  background-size: 120px 120px, 180px 180px, 260px 260px;
  background-position: 0 0, 40px 80px, 130px 30px;
  opacity: 0.26;
  animation: politaStarDrift 70s linear infinite;
}

/* Smoother wave movement */
.polita-wave {
  filter: blur(6px);
  opacity: 0.34;
  mix-blend-mode: screen;
}

.polita-wave.one {
  background: linear-gradient(90deg, transparent, rgba(0, 170, 255, 0.30), rgba(0, 255, 220, 0.22), transparent);
}

.polita-wave.two {
  background: linear-gradient(90deg, transparent, rgba(160, 68, 255, 0.30), rgba(255, 0, 220, 0.16), transparent);
}

.polita-wave.three {
  background: linear-gradient(90deg, transparent, rgba(255, 0, 220, 0.18), rgba(0, 120, 255, 0.14), transparent);
}

/* Geometric/pink objects move slowly and stay behind cards */
.polita-shape {
  opacity: 0.24;
  filter: drop-shadow(0 0 16px rgba(200, 0, 255, 0.35));
  animation: politaShapeOrbit 34s ease-in-out infinite alternate;
}

.polita-shape.blue {
  filter: drop-shadow(0 0 16px rgba(0, 120, 255, 0.35));
}

.polita-shape.green {
  filter: drop-shadow(0 0 16px rgba(0, 240, 106, 0.28));
}

/* Shooting stars */
.polita-shooting-star {
  position: absolute;
  width: 140px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.95), rgba(0,238,255,0.65), transparent);
  opacity: 0;
  transform: rotate(-28deg);
  filter: drop-shadow(0 0 10px rgba(0,238,255,0.75));
  animation: politaShootingStar 7.5s linear infinite;
}

.polita-shooting-star.pink {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.95), rgba(255,0,220,0.65), transparent);
  filter: drop-shadow(0 0 10px rgba(255,0,220,0.65));
}

.polita-shooting-star.green {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.95), rgba(0,240,106,0.65), transparent);
  filter: drop-shadow(0 0 10px rgba(0,240,106,0.65));
}

/* Better cards/buttons globally */
.hero,
.card,
.panel,
.feature,
.step,
.detail-card,
.stat,
.command-group {
  background:
    linear-gradient(145deg, rgba(7, 10, 24, 0.96), rgba(12, 13, 34, 0.92)) !important;
  border: 1px solid rgba(180, 190, 255, 0.14) !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,0.38),
    inset 0 1px 0 rgba(255,255,255,0.04) !important;
}

.btn,
button.btn,
.polita-header-links a,
.polita-footer-links a {
  transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.btn:hover,
button.btn:hover,
.polita-header-links a:hover,
.polita-footer-links a:hover {
  transform: translateY(-1px);
}

.btn,
.polita-header-links a.primary,
.polita-footer-links a.primary {
  background:
    linear-gradient(135deg, #7c4dff, #8c5bff) !important;
  box-shadow: 0 10px 26px rgba(124, 77, 255, 0.24);
}

code {
  font-weight: 700;
  letter-spacing: 0.2px;
}

/* Keyframes */
@keyframes politaNebulaShift {
  0% {
    background-position: 0% 45%, 100% 50%, 50% 100%, 0% 50%;
  }
  50% {
    background-position: 30% 25%, 75% 85%, 70% 80%, 65% 45%;
  }
  100% {
    background-position: 100% 55%, 20% 40%, 40% 70%, 100% 50%;
  }
}

@keyframes politaNebulaRotate {
  0% {
    transform: rotate(0deg) scale(1);
  }
  100% {
    transform: rotate(360deg) scale(1.08);
  }
}

@keyframes politaStarDrift {
  0% {
    background-position: 0 0, 40px 80px, 130px 30px;
  }
  100% {
    background-position: 320px -420px, 260px -280px, -180px -360px;
  }
}

@keyframes politaHeaderNebula {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

@keyframes politaShapeOrbit {
  0% {
    transform: translate3d(0, 0, 0) rotate(45deg) scale(1);
  }
  50% {
    transform: translate3d(24px, -18px, 0) rotate(62deg) scale(1.08);
  }
  100% {
    transform: translate3d(46px, -36px, 0) rotate(84deg) scale(0.95);
  }
}

@keyframes politaShootingStar {
  0% {
    opacity: 0;
    transform: translate3d(-20vw, 0, 0) rotate(-28deg);
  }
  7% {
    opacity: 0.95;
  }
  18% {
    opacity: 0;
    transform: translate3d(130vw, 55vh, 0) rotate(-28deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(130vw, 55vh, 0) rotate(-28deg);
  }
}

/* ================================
   POLITA+ REAL SCI-FI THEME PASS
   ================================ */

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

:root {
  --polita-bg: #050814;
  --polita-panel: rgba(6, 10, 28, 0.94);
  --polita-panel-2: rgba(11, 15, 40, 0.94);
  --polita-line: rgba(130, 165, 255, 0.22);
  --polita-purple: #8d5cff;
  --polita-blue: #00c8ff;
  --polita-green: #00f06a;
  --polita-pink: #ff31e6;
  --polita-text: #ffffff;
  --polita-muted: #cbd3ff;
}

html,
body {
  font-family: "Rajdhani", Arial, Helvetica, sans-serif !important;
  background-color: var(--polita-bg) !important;
  color: var(--polita-text) !important;
}

body {
  background-image: none !important;
}

/* Add subtle futuristic grid over the moving nebula */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0.16;
  background-image:
    linear-gradient(rgba(0, 200, 255, 0.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 200, 255, 0.12) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, transparent 0%, black 18%, black 82%, transparent 100%);
}

/* Stronger futuristic typography */
h1,
h2,
h3,
.polita-word,
.polita-plus,
.btn,
button,
.tag,
.status,
.polita-header-links a,
.polita-footer-links a,
code {
  font-family: "Orbitron", "Rajdhani", Arial, Helvetica, sans-serif !important;
}

p,
li,
td,
th,
label,
input {
  font-family: "Rajdhani", Arial, Helvetica, sans-serif !important;
}

h1 {
  font-weight: 900 !important;
  text-transform: none;
  letter-spacing: -1px !important;
  text-shadow:
    0 0 28px rgba(0, 200, 255, 0.16),
    0 0 44px rgba(124, 77, 255, 0.12);
}

h2 {
  font-weight: 800 !important;
  letter-spacing: -0.4px !important;
}

h3 {
  font-weight: 800 !important;
}

p {
  color: var(--polita-muted) !important;
  font-size: 19px !important;
}

/* Cyber panels */
.hero,
.card,
.panel,
.feature,
.step,
.detail-card,
.stat,
.command-group,
.hero-card {
  position: relative !important;
  background:
    linear-gradient(145deg, rgba(6, 10, 28, 0.96), rgba(11, 15, 40, 0.92)) !important;
  border: 1px solid var(--polita-line) !important;
  box-shadow:
    0 24px 80px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 0 0 1px rgba(0, 200, 255, 0.04) !important;
  overflow: hidden !important;
}

/* Neon corner glow on panels */
.hero::before,
.card::before,
.panel::before,
.feature::before,
.step::before,
.detail-card::before,
.stat::before,
.command-group::before,
.hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg, rgba(0, 200, 255, 0.18), transparent 22%),
    linear-gradient(315deg, rgba(141, 92, 255, 0.15), transparent 26%);
  opacity: 0.6;
}

/* Animated scanline inside cards */
.hero::after,
.card::after,
.panel::after,
.feature::after,
.step::after,
.detail-card::after,
.hero-card::after {
  content: "";
  position: absolute;
  left: -20%;
  top: -120%;
  width: 140%;
  height: 100%;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(0, 200, 255, 0.045),
    transparent
  );
  transform: rotate(8deg);
  animation: politaPanelScan 8s ease-in-out infinite;
}

@keyframes politaPanelScan {
  0%, 55% {
    top: -130%;
    opacity: 0;
  }
  65% {
    opacity: 1;
  }
  100% {
    top: 140%;
    opacity: 0;
  }
}

/* Make actual text sit above card effects */
.hero > *,
.card > *,
.panel > *,
.feature > *,
.step > *,
.detail-card > *,
.stat > *,
.command-group > *,
.hero-card > * {
  position: relative;
  z-index: 2;
}

/* Buttons look more bot/space */
.btn,
button.btn,
.polita-header-links a,
.polita-footer-links a {
  border-radius: 14px !important;
  text-transform: none;
  letter-spacing: 0.2px;
  border: 1px solid rgba(170, 190, 255, 0.22) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.11), rgba(255,255,255,0.05)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 8px 24px rgba(0,0,0,0.28) !important;
}

.btn:hover,
button.btn:hover,
.polita-header-links a:hover,
.polita-footer-links a:hover {
  border-color: rgba(0, 200, 255, 0.55) !important;
  transform: translateY(-2px);
}

.btn:not(.secondary),
.polita-header-links a.primary,
.polita-footer-links a.primary {
  background:
    linear-gradient(135deg, #7c4dff, #8d5cff 52%, #00aaff) !important;
  border-color: rgba(255,255,255,0.22) !important;
  box-shadow:
    0 12px 34px rgba(124, 77, 255, 0.28),
    0 0 24px rgba(0, 200, 255, 0.10) !important;
}

/* Header more premium */
.polita-site-header {
  background:
    linear-gradient(90deg, rgba(5,8,20,0.99), rgba(10,11,33,0.99), rgba(5,8,20,0.99)) !important;
  border-bottom: 1px solid rgba(0, 200, 255, 0.18) !important;
}

.polita-brand-icon {
  filter:
    drop-shadow(0 0 8px rgba(0, 238, 255, 0.45))
    drop-shadow(0 0 18px rgba(124, 77, 255, 0.18)) !important;
}

.polita-word {
  font-family: "Orbitron", Arial, sans-serif !important;
  font-size: 24px !important;
  letter-spacing: 0px !important;
}

.polita-plus {
  font-size: 24px !important;
  color: var(--polita-green) !important;
  text-shadow: 0 0 14px rgba(0, 240, 106, 0.6);
}

/* Tags/status/code become neon UI chips */
.tag,
.status,
code {
  border: 1px solid rgba(0, 200, 255, 0.22) !important;
  background: rgba(20, 24, 60, 0.78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

code {
  color: #dfe7ff !important;
}

/* Stronger link/card hover */
.feature,
.feature-card,
.command-group,
.step {
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.feature:hover,
.feature-card:hover,
.command-group:hover,
.step:hover {
  transform: translateY(-3px);
  border-color: rgba(0, 200, 255, 0.46) !important;
  box-shadow:
    0 28px 90px rgba(0,0,0,0.46),
    0 0 34px rgba(0, 200, 255, 0.08) !important;
}

/* Bigger bot-space feel on homepage */
body.polita-has-header .hero h1 {
  font-family: "Orbitron", "Rajdhani", Arial, sans-serif !important;
}

.green,
.polita-plus {
  color: var(--polita-green) !important;
}

/* Make nebula visibly move more */
.polita-animated-bg {
  opacity: 1 !important;
}

.polita-wave {
  opacity: 0.48 !important;
}

/* Mobile */
@media (max-width: 760px) {
  h1 {
    letter-spacing: -0.6px !important;
  }

  p {
    font-size: 17px !important;
  }

  .polita-word,
  .polita-plus {
    font-size: 21px !important;
  }
}

/* ================================
   ORCUS-style Polita+ font + nebula-only background
   ================================ */

/* Force futuristic square sci-fi font everywhere */
html,
body,
body *,
button,
input,
textarea,
select {
  font-family: "Michroma", "Orbitron", "Eurostile", "Rajdhani", Arial, sans-serif !important;
}

p,
li,
td,
th,
label,
input,
textarea,
select {
  font-family: "Rajdhani", Arial, sans-serif !important;
  font-weight: 500;
}

h1,
h2,
h3,
h4,
.btn,
button,
.tag,
.status,
code,
.polita-word,
.polita-plus,
.polita-header-links a,
.polita-footer-links a {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -0.5px !important;
  text-transform: none;
}

/* Make headings look closer to the ORCUS example */
h1 {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  font-weight: 900 !important;
  letter-spacing: -1.8px !important;
  line-height: 1.02 !important;
}

h2,
h3 {
  letter-spacing: -1px !important;
}

/* Header logo text sharper */
.polita-word {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  font-size: 23px !important;
  letter-spacing: -1px !important;
}

.polita-plus {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  font-size: 22px !important;
  margin-left: -3px !important;
  color: #00f06a !important;
}

/* Remove shooting stars completely */
.polita-shooting-star {
  display: none !important;
}

/* Remove harsh old background image influence */
body {
  background-image: none !important;
  background-color: #030711 !important;
}

/* Nebula-only animated background */
.polita-animated-bg {
  background:
    radial-gradient(circle at 12% 18%, rgba(170, 0, 255, 0.42), transparent 34%),
    radial-gradient(circle at 82% 20%, rgba(0, 120, 255, 0.34), transparent 36%),
    radial-gradient(circle at 48% 78%, rgba(0, 238, 255, 0.22), transparent 40%),
    radial-gradient(circle at 78% 86%, rgba(0, 240, 106, 0.14), transparent 38%),
    linear-gradient(120deg, #030711, #100624, #061329, #030711) !important;
  background-size: 180% 180%, 170% 170%, 190% 190%, 200% 200%, 260% 260% !important;
  animation: politaSlowNebula 46s ease-in-out infinite alternate !important;
}

/* Big slow colour wash */
.polita-animated-bg::before {
  content: "";
  position: absolute;
  inset: -30%;
  background:
    conic-gradient(
      from 180deg,
      rgba(124, 77, 255, 0.22),
      rgba(0, 170, 255, 0.18),
      rgba(255, 0, 220, 0.18),
      rgba(0, 240, 106, 0.10),
      rgba(124, 77, 255, 0.22)
    ) !important;
  filter: blur(90px) !important;
  opacity: 0.72 !important;
  animation: politaNebulaFlow 90s linear infinite !important;
}

/* Subtle star dust only, no shooting lines */
.polita-animated-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.35) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(0,238,255,0.24) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(180,0,255,0.22) 0 1px, transparent 1px) !important;
  background-size: 140px 140px, 220px 220px, 300px 300px !important;
  opacity: 0.22 !important;
  animation: politaDustMove 95s linear infinite !important;
}

/* Slow waves only */
.polita-wave {
  opacity: 0.34 !important;
  filter: blur(10px) !important;
  mix-blend-mode: screen;
}

.polita-wave.one {
  background: linear-gradient(90deg, transparent, rgba(0, 170, 255, 0.34), rgba(0, 255, 220, 0.20), transparent) !important;
  animation-duration: 34s !important;
}

.polita-wave.two {
  background: linear-gradient(90deg, transparent, rgba(190, 60, 255, 0.30), rgba(255, 0, 220, 0.16), transparent) !important;
  animation-duration: 48s !important;
}

.polita-wave.three {
  background: linear-gradient(90deg, transparent, rgba(120, 70, 255, 0.24), rgba(0, 120, 255, 0.18), transparent) !important;
  animation-duration: 58s !important;
}

/* Keep pink/purple objects but make them slow, subtle and behind content */
.polita-shape {
  opacity: 0.18 !important;
  filter: drop-shadow(0 0 20px rgba(220, 0, 255, 0.35)) !important;
  animation: politaSlowShapeFloat 60s ease-in-out infinite alternate !important;
}

.polita-particle {
  opacity: 0.65 !important;
  animation-duration: 28s !important;
}

/* More premium cyber panels */
.hero,
.card,
.panel,
.feature,
.step,
.detail-card,
.stat,
.command-group,
.hero-card,
.bot-panel {
  background:
    linear-gradient(145deg, rgba(4, 8, 23, 0.95), rgba(9, 12, 34, 0.92)) !important;
  border: 1px solid rgba(120, 170, 255, 0.20) !important;
  box-shadow:
    0 28px 90px rgba(0,0,0,0.48),
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 0 40px rgba(0, 200, 255, 0.035) !important;
}

.btn,
button.btn,
.polita-header-links a,
.polita-footer-links a {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: -0.3px !important;
}

@keyframes politaSlowNebula {
  0% {
    background-position: 0% 20%, 100% 10%, 40% 100%, 80% 80%, 0% 50%;
  }
  50% {
    background-position: 45% 40%, 65% 70%, 70% 65%, 35% 85%, 65% 45%;
  }
  100% {
    background-position: 100% 60%, 15% 30%, 20% 35%, 60% 20%, 100% 50%;
  }
}

@keyframes politaNebulaFlow {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.08);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}

@keyframes politaDustMove {
  0% {
    background-position: 0 0, 60px 90px, 180px 40px;
  }
  100% {
    background-position: 420px -560px, -260px -360px, 300px -440px;
  }
}

@keyframes politaSlowShapeFloat {
  0% {
    transform: translate3d(0, 0, 0) rotate(45deg) scale(1);
  }
  50% {
    transform: translate3d(36px, -28px, 0) rotate(68deg) scale(1.08);
  }
  100% {
    transform: translate3d(72px, -54px, 0) rotate(92deg) scale(0.95);
  }
}

@media (max-width: 760px) {
  h1 {
    letter-spacing: -1px !important;
  }

  .polita-word {
    font-size: 20px !important;
  }

  .polita-plus {
    font-size: 19px !important;
    margin-left: -3px !important;
  }
}

/* Readability pass after ORCUS-style font */
p,
li,
td,
th,
label,
input,
textarea,
select,
.intro,
.polita-footer-copy {
  font-family: "Rajdhani", Arial, sans-serif !important;
  letter-spacing: 0.2px !important;
  line-height: 1.65 !important;
}

/* Keep the sci-fi font for headings and UI */
h1,
h2,
h3,
h4,
.btn,
button,
.tag,
.status,
code,
.polita-word,
.polita-plus,
.polita-header-links a,
.polita-footer-links a {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
}

/* Make headings less cramped */
h1 {
  letter-spacing: -1.1px !important;
  line-height: 1.06 !important;
}

h2,
h3 {
  letter-spacing: -0.6px !important;
  line-height: 1.18 !important;
}

/* Make buttons readable but still sci-fi */
.btn,
button.btn,
.polita-header-links a,
.polita-footer-links a {
  letter-spacing: -0.1px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
}

/* Reduce over-glow on buttons */
.btn:not(.secondary),
.polita-header-links a.primary,
.polita-footer-links a.primary {
  box-shadow:
    0 10px 24px rgba(124, 77, 255, 0.22),
    0 0 16px rgba(0, 200, 255, 0.08) !important;
}

/* Feature/card text balance */
.feature p,
.card p,
.step p,
.detail-card p,
.panel p,
.hero p {
  font-size: 18px !important;
}

/* On smaller cards, stop headings wrapping too awkwardly */
.feature h3,
.card h3,
.step h3 {
  font-size: 22px !important;
}

/* Buttons on public pages should not look blurry */
.actions .btn {
  padding: 15px 18px !important;
  min-height: 22px;
}

/* Wider sci-fi letter spacing */
h1 {
  letter-spacing: 0.6px !important;
  line-height: 1.12 !important;
}

h2 {
  letter-spacing: 0.8px !important;
  line-height: 1.22 !important;
}

h3,
h4 {
  letter-spacing: 0.7px !important;
  line-height: 1.25 !important;
}

.btn,
button.btn,
.polita-header-links a,
.polita-footer-links a,
.tag,
.status,
code {
  letter-spacing: 0.6px !important;
}

/* Header logo spacing */
.polita-word {
  letter-spacing: 1px !important;
}

.polita-plus {
  margin-left: 0px !important;
}

/* Feature/card headings need extra room */
.feature h3,
.card h3,
.step h3,
.detail-card h2,
.command-title {
  letter-spacing: 0.8px !important;
  line-height: 1.28 !important;
}

/* Paragraphs readable but not too spaced */
p,
li,
td,
th,
label,
.intro,
.polita-footer-copy {
  letter-spacing: 0.35px !important;
  line-height: 1.72 !important;
}

/* Buttons stop looking squeezed */
.actions .btn,
.btn {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* ================================
   Deeper 3D slow nebula pass
   ================================ */

.polita-animated-bg {
  background:
    radial-gradient(circle at 14% 18%, rgba(191, 0, 255, 0.46), transparent 24%),
    radial-gradient(circle at 84% 16%, rgba(0, 110, 255, 0.34), transparent 26%),
    radial-gradient(circle at 32% 72%, rgba(94, 0, 255, 0.28), transparent 28%),
    radial-gradient(circle at 72% 82%, rgba(0, 225, 255, 0.22), transparent 30%),
    linear-gradient(125deg, #030711 0%, #0a0820 28%, #07152c 60%, #030711 100%) !important;
  background-size: 170% 170%, 160% 160%, 180% 180%, 180% 180%, 240% 240% !important;
  animation: politaDeepNebulaShift 70s ease-in-out infinite alternate !important;
}

.polita-animated-bg::before {
  content: "";
  position: absolute;
  inset: -35%;
  background:
    radial-gradient(circle at 20% 30%, rgba(220, 0, 255, 0.18), transparent 20%),
    radial-gradient(circle at 75% 20%, rgba(0, 170, 255, 0.16), transparent 22%),
    radial-gradient(circle at 45% 70%, rgba(0, 240, 106, 0.10), transparent 18%),
    radial-gradient(circle at 80% 75%, rgba(90, 50, 255, 0.16), transparent 22%);
  filter: blur(90px) !important;
  opacity: 0.95 !important;
  animation: politaDeepNebulaFlow 95s ease-in-out infinite alternate !important;
}

.polita-animated-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.34) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(0,238,255,0.18) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(180,0,255,0.16) 0 1px, transparent 1px);
  background-size: 160px 160px, 240px 240px, 320px 320px;
  background-position: 0 0, 40px 80px, 130px 30px;
  opacity: 0.16 !important;
  animation: politaDustDrift 110s linear infinite !important;
}

.polita-nebula-cloud {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: screen;
  filter: blur(55px);
  opacity: 0.34;
  animation: politaCloudFloat 75s ease-in-out infinite alternate;
}

.polita-nebula-cloud.one {
  width: 520px;
  height: 320px;
  left: -6%;
  top: 8%;
  background: radial-gradient(circle, rgba(204, 0, 255, 0.34) 0%, rgba(100, 0, 255, 0.16) 40%, transparent 72%);
}

.polita-nebula-cloud.two {
  width: 620px;
  height: 340px;
  right: -10%;
  top: 14%;
  background: radial-gradient(circle, rgba(0, 128, 255, 0.28) 0%, rgba(0, 238, 255, 0.14) 40%, transparent 72%);
  animation-duration: 88s;
}

.polita-nebula-cloud.three {
  width: 540px;
  height: 300px;
  left: 20%;
  bottom: -6%;
  background: radial-gradient(circle, rgba(65, 70, 255, 0.22) 0%, rgba(180, 0, 255, 0.12) 42%, transparent 74%);
  animation-duration: 96s;
}

.polita-nebula-cloud.four {
  width: 420px;
  height: 240px;
  right: 18%;
  bottom: 8%;
  background: radial-gradient(circle, rgba(0, 210, 255, 0.20) 0%, rgba(0, 120, 255, 0.12) 40%, transparent 72%);
  animation-duration: 84s;
}

.polita-wave {
  opacity: 0.42 !important;
  filter: blur(12px) !important;
  animation-timing-function: ease-in-out !important;
}

.polita-wave.one {
  bottom: 3%;
  height: 260px;
  background: linear-gradient(90deg, transparent, rgba(0, 170, 255, 0.30), rgba(0, 255, 220, 0.22), transparent) !important;
  animation-duration: 42s !important;
}

.polita-wave.two {
  bottom: 11%;
  height: 210px;
  background: linear-gradient(90deg, transparent, rgba(170, 72, 255, 0.26), rgba(255, 0, 220, 0.16), transparent) !important;
  animation-duration: 56s !important;
}

.polita-wave.three {
  top: 6%;
  height: 230px;
  background: linear-gradient(90deg, transparent, rgba(88, 46, 255, 0.20), rgba(0, 120, 255, 0.14), transparent) !important;
  animation-duration: 68s !important;
}

.polita-shape {
  opacity: 0.12 !important;
  animation-duration: 90s !important;
}

.polita-particle {
  opacity: 0.46 !important;
  animation-duration: 34s !important;
}

@keyframes politaDeepNebulaShift {
  0% {
    background-position: 0% 20%, 100% 18%, 25% 78%, 80% 84%, 0% 50%;
  }
  50% {
    background-position: 30% 30%, 78% 34%, 48% 66%, 62% 72%, 55% 48%;
  }
  100% {
    background-position: 100% 44%, 18% 26%, 68% 40%, 38% 30%, 100% 50%;
  }
}

@keyframes politaDeepNebulaFlow {
  0% {
    transform: translate3d(-2%, -1%, 0) scale(1) rotate(0deg);
  }
  50% {
    transform: translate3d(3%, 2%, 0) scale(1.08) rotate(120deg);
  }
  100% {
    transform: translate3d(6%, -2%, 0) scale(1.04) rotate(240deg);
  }
}

@keyframes politaDustDrift {
  0% {
    background-position: 0 0, 40px 80px, 130px 30px;
  }
  100% {
    background-position: 260px -320px, -180px -220px, 220px -280px;
  }
}

@keyframes politaCloudFloat {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(24px, -18px, 0) scale(1.08);
  }
  100% {
    transform: translate3d(52px, 16px, 0) scale(1.02);
  }
}

/* ================================
   Bigger space scene upgrade
   ================================ */

/* More visible slow nebula depth */
.polita-animated-bg {
  perspective: 1200px;
}

.polita-nebula-cloud {
  opacity: 0.42 !important;
  filter: blur(65px) !important;
}

.polita-nebula-cloud.one {
  width: 620px;
  height: 380px;
}

.polita-nebula-cloud.two {
  width: 720px;
  height: 420px;
}

.polita-nebula-cloud.three {
  width: 640px;
  height: 360px;
}

.polita-nebula-cloud.four {
  width: 520px;
  height: 300px;
}

/* Distant planets */
.polita-planet {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.28;
  mix-blend-mode: screen;
  animation: politaPlanetDrift 120s ease-in-out infinite alternate;
  box-shadow:
    0 0 50px rgba(0, 170, 255, 0.10),
    inset -18px -18px 50px rgba(0, 0, 0, 0.28),
    inset 12px 12px 30px rgba(255,255,255,0.08);
}

.polita-planet.ringed::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 145%;
  height: 32%;
  transform: translate(-50%, -50%) rotate(-18deg);
  border: 2px solid rgba(180, 220, 255, 0.24);
  border-radius: 50%;
  box-shadow: 0 0 18px rgba(0, 200, 255, 0.10);
}

.polita-planet.planet-one {
  width: 180px;
  height: 180px;
  right: 7%;
  top: 16%;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,0.26), rgba(110,160,255,0.20) 18%, rgba(50,80,170,0.34) 48%, rgba(10,14,36,0.0) 74%);
}

.polita-planet.planet-two {
  width: 110px;
  height: 110px;
  left: 8%;
  top: 14%;
  opacity: 0.20;
  animation-duration: 150s;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,0.18), rgba(210,90,255,0.18) 18%, rgba(90,20,160,0.28) 45%, rgba(10,14,36,0.0) 72%);
}

.polita-planet.planet-three {
  width: 78px;
  height: 78px;
  right: 22%;
  bottom: 17%;
  opacity: 0.16;
  animation-duration: 170s;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,0.16), rgba(0,220,255,0.14) 18%, rgba(16,70,120,0.24) 46%, rgba(10,14,36,0.0) 72%);
}

/* More particles */
.polita-particle {
  opacity: 0.65 !important;
  animation-name: politaParticleFloat, politaParticleTwinkle !important;
  animation-timing-function: linear, ease-in-out !important;
  animation-iteration-count: infinite, infinite !important;
}

.polita-particle.small {
  width: 3px !important;
  height: 3px !important;
  opacity: 0.52 !important;
}

.polita-particle.tiny {
  width: 2px !important;
  height: 2px !important;
  opacity: 0.38 !important;
}

.polita-micro-star {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgba(255,255,255,0.72);
  box-shadow: 0 0 10px rgba(255,255,255,0.45);
  opacity: 0.25;
  animation: politaStarTwinkle 5s ease-in-out infinite;
  pointer-events: none;
}

.polita-micro-star.blue {
  background: rgba(0, 220, 255, 0.65);
  box-shadow: 0 0 10px rgba(0,220,255,0.40);
}

.polita-micro-star.purple {
  background: rgba(200, 120, 255, 0.55);
  box-shadow: 0 0 10px rgba(200,120,255,0.36);
}

/* Shooting stars back on */
.polita-shooting-star {
  display: block !important;
  position: absolute;
  width: 180px;
  height: 2px;
  border-radius: 999px;
  opacity: 0;
  pointer-events: none;
  transform: rotate(-28deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.98), rgba(0,238,255,0.72), transparent);
  filter: drop-shadow(0 0 10px rgba(0,238,255,0.50));
  animation: politaShootAcross 12s linear infinite;
}

.polita-shooting-star.pink {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.98), rgba(255,0,220,0.72), transparent);
  filter: drop-shadow(0 0 10px rgba(255,0,220,0.42));
}

.polita-shooting-star.green {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.98), rgba(0,240,106,0.72), transparent);
  filter: drop-shadow(0 0 10px rgba(0,240,106,0.40));
}

/* Keyframes */
@keyframes politaParticleTwinkle {
  0%, 100% { opacity: 0.22; }
  50% { opacity: 0.85; }
}

@keyframes politaStarTwinkle {
  0%, 100% {
    opacity: 0.15;
    transform: scale(0.9);
  }
  50% {
    opacity: 0.65;
    transform: scale(1.3);
  }
}

@keyframes politaShootAcross {
  0% {
    opacity: 0;
    transform: translate3d(-25vw, 0, 0) rotate(-28deg);
  }
  8% {
    opacity: 0.95;
  }
  18% {
    opacity: 0;
    transform: translate3d(135vw, 55vh, 0) rotate(-28deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(135vw, 55vh, 0) rotate(-28deg);
  }
}

@keyframes politaPlanetDrift {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(18px, -14px, 0) scale(1.03);
  }
  100% {
    transform: translate3d(36px, 10px, 0) scale(0.98);
  }
}

/* Shooting stars removed */
.polita-shooting-star {
  display: none !important;
  animation: none !important;
}

/* Global mobile centering and overflow safety */
html,
body {
  max-width: 100%;
  overflow-x: hidden !important;
}

* {
  box-sizing: border-box;
}

img,
svg,
video,
canvas {
  max-width: 100%;
}

@media (max-width: 760px) {
  .wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .hero,
  .grid,
  .flow,
  .commands-panel,
  .settings-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  .hero-card,
  .bot-panel,
  .card,
  .panel,
  .feature,
  .step,
  .detail-card,
  .stat,
  .command-group {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Footer bottom fix for short pages */
html,
body {
  min-height: 100%;
}

body.polita-has-header {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

body.polita-has-header main,
body.polita-has-header .wrap {
  flex: 1 0 auto;
}

.polita-site-footer {
  margin-top: auto !important;
  flex-shrink: 0;
}

/* Keep single-card pages centred without leaving footer floating */
body.polita-has-header > .card {
  margin: 70px auto 70px !important;
}

/* Locked POLITA+ brand sizing - header and footer identical */
.polita-brand,
.polita-footer-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: auto !important;
  white-space: nowrap !important;
}

.polita-brand-icon,
.polita-footer-brand img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
  flex: 0 0 42px !important;
  display: block !important;
  filter:
    drop-shadow(0 0 8px rgba(0, 238, 255, 0.45))
    drop-shadow(0 0 18px rgba(124, 77, 255, 0.18)) !important;
}

.polita-brand-wordmark,
.polita-footer-wordmark {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.polita-word,
.polita-footer-word {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  letter-spacing: 0.8px !important;
  line-height: 1 !important;
}

.polita-plus,
.polita-footer-plus {
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  color: #00f06a !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  margin-left: -2px !important;
  text-shadow: 0 0 14px rgba(0, 240, 106, 0.55) !important;
}

/* Stop older footer styles creating spacing between POLITA and + */
.polita-footer-brand .polita-footer-word,
.polita-footer-brand .polita-footer-plus {
  display: inline-block !important;
}

/* Mobile keeps same proportions, just slightly smaller */
@media (max-width: 760px) {
  .polita-brand-icon,
  .polita-footer-brand img {
    width: 38px !important;
    height: 38px !important;
    flex-basis: 38px !important;
  }

  .polita-word,
  .polita-footer-word {
    font-size: 21px !important;
    letter-spacing: 0.6px !important;
  }

  .polita-plus,
  .polita-footer-plus {
    font-size: 22px !important;
    margin-left: -2px !important;
  }
}

/* Cleaner header without Add Polita button */
.polita-site-header {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.polita-header-inner {
  gap: 22px !important;
}

.polita-header-links {
  gap: 9px !important;
}

.polita-header-links a {
  padding: 9px 13px !important;
  font-size: 13px !important;
}

@media (max-width: 760px) {
  .polita-header-inner {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .polita-header-links {
    justify-content: center !important;
    width: 100%;
  }

  .polita-header-links a {
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
}

/* ================================
   Lightweight mobile-safe background
   Static nebula + minimal particles only
   ================================ */

/* Disable heavy animated layers */
.polita-nebula-cloud,
.polita-wave,
.polita-planet,
.polita-shape,
.polita-shooting-star,
.polita-micro-star {
  display: none !important;
  animation: none !important;
}

/* Static soft nebula background */
.polita-animated-bg {
  background:
    radial-gradient(circle at 18% 18%, rgba(155, 55, 255, 0.28), transparent 28%),
    radial-gradient(circle at 82% 76%, rgba(0, 120, 255, 0.25), transparent 34%),
    radial-gradient(circle at 55% 92%, rgba(0, 220, 255, 0.12), transparent 34%),
    linear-gradient(135deg, #030711 0%, #070b1d 45%, #061329 100%) !important;
  background-size: cover !important;
  animation: none !important;
  transform: none !important;
  perspective: none !important;
}

/* Remove rotating/blur wash */
.polita-animated-bg::before {
  display: none !important;
  animation: none !important;
}

/* Keep only very subtle static star dust */
.polita-animated-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.22) 0 1px, transparent 1px),
    radial-gradient(circle, rgba(0,238,255,0.16) 0 1px, transparent 1px);
  background-size: 180px 180px, 260px 260px;
  background-position: 0 0, 80px 120px;
  opacity: 0.18 !important;
  animation: none !important;
}

/* Minimal floating particles */
.polita-particle {
  display: block !important;
  width: 3px !important;
  height: 3px !important;
  opacity: 0.35 !important;
  filter: none !important;
  box-shadow: 0 0 8px rgba(124, 77, 255, 0.45) !important;
  animation: politaLiteParticle 28s linear infinite !important;
  will-change: transform, opacity;
}

.polita-particle.blue {
  box-shadow: 0 0 8px rgba(0, 170, 255, 0.38) !important;
}

.polita-particle.green {
  box-shadow: 0 0 8px rgba(0, 240, 106, 0.32) !important;
}

/* Disable extra tiny/random particle variants */
.polita-particle.small,
.polita-particle.tiny {
  width: 2px !important;
  height: 2px !important;
  opacity: 0.22 !important;
}

/* Very light particle movement */
@keyframes politaLiteParticle {
  0% {
    transform: translate3d(0, 20px, 0);
    opacity: 0;
  }
  20% {
    opacity: 0.35;
  }
  80% {
    opacity: 0.28;
  }
  100% {
    transform: translate3d(18px, -110vh, 0);
    opacity: 0;
  }
}

/* Extra mobile safety */
@media (max-width: 760px) {
  .polita-particle:nth-of-type(n+16) {
    display: none !important;
  }

  .polita-particle {
    animation-duration: 38s !important;
    opacity: 0.25 !important;
  }

  .polita-animated-bg::after {
    opacity: 0.12 !important;
  }
}

/* Homepage-only centering fix - no size/style changes */
body:has(.hero-card) .hero {
  justify-items: center !important;
  align-items: center !important;
}

body:has(.hero-card) .hero-card,
body:has(.hero-card) .bot-panel {
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
}

body:has(.hero-card) .hero-card h1,
body:has(.hero-card) .hero-card p,
body:has(.hero-card) .bot-panel h2,
body:has(.hero-card) .bot-panel p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.hero-card) .tag {
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.hero-card) .actions,
body:has(.hero-card) .signal-row {
  justify-content: center !important;
}

body:has(.hero-card) .bot-core,
body:has(.hero-card) .bot-core img {
  margin-left: auto !important;
  margin-right: auto !important;
}

body:has(.hero-card) .section-title {
  text-align: center !important;
}

body:has(.hero-card) .grid {
  justify-items: center !important;
}

body:has(.hero-card) .feature {
  text-align: center !important;
  align-items: center !important;
}

body:has(.hero-card) .feature h3,
body:has(.hero-card) .feature p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Centre card/module titles everywhere without changing size */
.feature h3,
.card h3,
.step h3,
.command-card h3,
.mini h3,
.detail-card h3,
.panel h3 {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Centre text and command chips inside module cards */
.feature p,
.card p,
.step p,
.command-card p,
.mini p,
.detail-card p,
.panel p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.feature .commands,
.card .commands,
.step .commands,
.command-card .commands,
.mini .commands,
.detail-card .commands,
.panel .commands {
  justify-content: center !important;
}

/* Make sure each module itself centres its content */
.feature,
.card,
.step,
.command-card,
.mini,
.detail-card,
.panel {
  text-align: center !important;
}

/* Fix emoji/title wrapping so icon stays centred with title */
.feature h3 > *,
.card h3 > *,
.step h3 > *,
.command-card h3 > *,
.mini h3 > *,
.detail-card h3 > *,
.panel h3 > * {
  display: inline-flex !important;
  align-items: center !important;
}

/* Mobile-only title centering fix */
@media (max-width: 760px) {
  .section-title,
  h2.section-title,
  .wrap > h2,
  main > h2,
  section > h2 {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .wrap > h2,
  main > h2 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Specifically fixes titles like "How the world works" */
  body.polita-has-header .section-title {
    text-align: center !important;
  }
}

/* Mobile-only Explore/World hero button centering */
@media (max-width: 760px) {
  body.polita-has-header .hero .actions,
  body.polita-has-header .wrap .hero .actions {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.polita-has-header .hero .actions .btn,
  body.polita-has-header .wrap .hero .actions .btn {
    width: 100% !important;
    max-width: 320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* Desktop-only World hero centering */
@media (min-width: 761px) {
  body.polita-has-header .hero {
    text-align: center !important;
  }

  body.polita-has-header .hero .tag,
  body.polita-has-header .hero h1,
  body.polita-has-header .hero p,
  body.polita-has-header .hero .intro {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.polita-has-header .hero .actions {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Mobile-only Polita World hero title centering */
@media (max-width: 760px) {
  body.polita-has-header .hero h1,
  body.polita-has-header .wrap .hero h1 {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Clean header More dropdown */
.polita-more-menu {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.polita-more-button {
  color: #ffffff !important;
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  letter-spacing: 0.6px !important;
  padding: 9px 13px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.09) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  cursor: pointer !important;
}

.polita-more-dropdown {
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 10px) !important;
  min-width: 190px !important;
  padding: 8px !important;
  border-radius: 16px !important;
  background: rgba(5, 8, 20, 0.98) !important;
  border: 1px solid rgba(120, 170, 255, 0.22) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,0.38) !important;
  display: none !important;
  z-index: 100000 !important;
}

.polita-more-dropdown a {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  background: rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  margin: 0 !important;
}

.polita-more-dropdown a + a {
  margin-top: 7px !important;
}

.polita-more-menu:hover .polita-more-dropdown,
.polita-more-menu:focus-within .polita-more-dropdown {
  display: block !important;
}

@media (max-width: 760px) {
  .polita-more-dropdown {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

/* ===== More dropdown front-layer fix ===== */
.polita-header,
.polita-header-inner,
.polita-header-links,
.polita-more-menu {
  overflow: visible !important;
}

.polita-header,
.polita-header-inner,
.polita-header-links {
  position: relative !important;
  z-index: 5000 !important;
}

.polita-more-menu {
  position: relative !important;
  z-index: 6000 !important;
}

/* ===== More dropdown glass + blur panel ===== */
.polita-more-dropdown {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  min-width: 220px !important;
  padding: 10px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(120, 170, 255, 0.20) !important;
  background:
    linear-gradient(180deg, rgba(8, 12, 26, 0.90), rgba(7, 10, 22, 0.88)) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.45),
    0 0 30px rgba(0, 120, 255, 0.12),
    0 0 40px rgba(180, 0, 255, 0.08) !important;
  z-index: 99999 !important;
  isolation: isolate !important;
}

/* soft glow / blurred gradient behind dropdown */
.polita-more-dropdown::before {
  content: "" !important;
  position: absolute !important;
  inset: -18px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(185, 66, 255, 0.22), transparent 42%),
    radial-gradient(circle at 80% 25%, rgba(0, 170, 255, 0.18), transparent 45%),
    radial-gradient(circle at 50% 100%, rgba(0, 255, 150, 0.10), transparent 45%) !important;
  filter: blur(20px) !important;
  opacity: 1 !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

/* cleaner show/hide motion */
.polita-more-menu .polita-more-dropdown {
  display: block !important;
  opacity: 0 !important;
  transform: translateY(8px) scale(0.98) !important;
  pointer-events: none !important;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease !important;
}

.polita-more-menu:hover .polita-more-dropdown,
.polita-more-menu:focus-within .polita-more-dropdown {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
}

/* dropdown buttons */
.polita-more-dropdown a {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-sizing: border-box !important;
}

.polita-more-dropdown a + a {
  margin-top: 8px !important;
}

.polita-more-dropdown a:hover {
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(120, 170, 255, 0.18) !important;
}

/* mobile placement */
@media (max-width: 760px) {
  .polita-more-dropdown {
    right: 0 !important;
    left: auto !important;
    transform-origin: top right !important;
  }

  .polita-more-menu .polita-more-dropdown {
    transform: translateY(8px) scale(0.98) !important;
  }

  .polita-more-menu:hover .polita-more-dropdown,
  .polita-more-menu:focus-within .polita-more-dropdown {
    transform: translateY(0) scale(1) !important;
  }
}

/* ===== Horizontal More tray under header ===== */
.polita-header,
.polita-header-inner,
.polita-header-links,
.polita-more-menu {
  overflow: visible !important;
}

.polita-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
}

.polita-header-inner,
.polita-header-links {
  position: relative !important;
  z-index: 9001 !important;
}

.polita-more-menu {
  position: relative !important;
  z-index: 9002 !important;
}

.polita-more-button {
  position: relative !important;
  z-index: 9003 !important;
}

/* turn the old vertical dropdown into a horizontal tray */
.polita-more-dropdown {
  position: fixed !important;
  top: 72px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) translateY(-10px) !important;
  width: min(920px, calc(100vw - 24px)) !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;

  padding: 12px 14px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(120, 170, 255, 0.22) !important;
  background: rgba(8, 12, 24, 0.88) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;

  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.42),
    0 0 24px rgba(0, 140, 255, 0.10),
    0 0 28px rgba(190, 60, 255, 0.08) !important;

  opacity: 0 !important;
  pointer-events: none !important;
  z-index: 99999 !important;
  isolation: isolate !important;

  transition:
    opacity 0.18s ease,
    transform 0.18s ease !important;
}

/* soft blur/glow behind tray */
.polita-more-dropdown::before {
  content: "" !important;
  position: absolute !important;
  inset: -16px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(190, 70, 255, 0.22), transparent 42%),
    radial-gradient(circle at 80% 20%, rgba(0, 150, 255, 0.18), transparent 44%),
    radial-gradient(circle at 50% 100%, rgba(0, 255, 150, 0.08), transparent 42%) !important;
  filter: blur(18px) !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

/* show tray when hovering/focusing More */
.polita-more-menu:hover .polita-more-dropdown,
.polita-more-menu:focus-within .polita-more-dropdown {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* tray buttons */
.polita-more-dropdown a {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  min-width: 150px !important;
  min-height: 42px !important;
  padding: 10px 16px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

.polita-more-dropdown a + a {
  margin-top: 0 !important;
}

.polita-more-dropdown a:hover {
  background: rgba(255,255,255,0.10) !important;
  border-color: rgba(120, 170, 255, 0.18) !important;
}

/* mobile */
@media (max-width: 760px) {
  .polita-more-dropdown {
    top: 68px !important;
    width: calc(100vw - 16px) !important;
    padding: 10px !important;
    gap: 8px !important;
  }

  .polita-more-dropdown a {
    min-width: calc(50% - 8px) !important;
    flex: 1 1 calc(50% - 8px) !important;
  }
}

/* ===== Final More tray: header-style horizontal buttons ===== */

/* Keep header/dropdown above page */
.polita-site-header,
.polita-header-inner,
.polita-header-links,
.polita-more-menu {
  overflow: visible !important;
}

.polita-site-header {
  z-index: 99990 !important;
}

.polita-more-menu {
  position: relative !important;
  z-index: 99991 !important;
}

/* Horizontal tray under the header */
.polita-more-dropdown {
  position: fixed !important;
  top: 66px !important;
  left: 50% !important;
  right: auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: calc(100vw - 24px) !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  padding: 10px 12px !important;
  border-radius: 18px !important;
  background: rgba(5, 8, 20, 0.92) !important;
  border: 1px solid rgba(120, 170, 255, 0.20) !important;
  backdrop-filter: blur(16px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(140%) !important;

  box-shadow:
    0 18px 46px rgba(0,0,0,0.40),
    0 0 28px rgba(0, 140, 255, 0.10),
    0 0 34px rgba(180, 0, 255, 0.08) !important;

  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(-8px) !important;
  transition: opacity 0.16s ease, transform 0.16s ease !important;
  z-index: 99999 !important;
}

/* Glow blur behind tray */
.polita-more-dropdown::before {
  content: "" !important;
  position: absolute !important;
  inset: -16px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 20% 50%, rgba(180, 70, 255, 0.20), transparent 46%),
    radial-gradient(circle at 80% 50%, rgba(0, 170, 255, 0.16), transparent 46%) !important;
  filter: blur(18px) !important;
  z-index: -1 !important;
  pointer-events: none !important;
}

/* Open on hover/focus */
.polita-more-menu:hover .polita-more-dropdown,
.polita-more-menu:focus-within .polita-more-dropdown {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

/* Make More tray links identical to header buttons */
.polita-more-dropdown a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  min-width: auto !important;
  min-height: auto !important;

  padding: 9px 13px !important;
  margin: 0 !important;
  border-radius: 12px !important;

  color: #ffffff !important;
  text-decoration: none !important;
  font-family: "Michroma", "Orbitron", Arial, sans-serif !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  letter-spacing: 0.6px !important;
  white-space: nowrap !important;

  background: rgba(255,255,255,0.09) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  box-shadow: none !important;
}

.polita-more-dropdown a + a {
  margin-top: 0 !important;
}

.polita-more-dropdown a:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(120, 170, 255, 0.22) !important;
}

/* Keep mobile usable without changing PC */
@media (max-width: 760px) {
  .polita-more-dropdown {
    top: 112px !important;
    width: calc(100vw - 18px) !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .polita-more-dropdown a {
    flex: 1 1 calc(50% - 8px) !important;
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
}

/* More menu removed */
.polita-more-menu,
.polita-more-button,
.polita-more-dropdown {
  display: none !important;
}

/* Homepage clickable platform cards keep same style */
a.feature {
  color: white !important;
  text-decoration: none !important;
  cursor: pointer;
}

a.feature:hover {
  border-color: rgba(0, 200, 255, 0.42) !important;
}

/* Homepage signal pills alignment fix */
.signal-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
}

.signal {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 54px !important;
  padding: 12px 18px !important;
  line-height: 1 !important;
}

.signal strong,
.signal span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.signal strong {
  min-height: 30px !important;
}

.signal span {
  min-height: 24px !important;
}

/* Mobile keeps them neat */
@media (max-width: 760px) {
  .signal-row {
    flex-direction: column !important;
    align-items: center !important;
  }

  .signal {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* Final homepage signal pill vertical alignment */
.signal {
  display: inline-grid !important;
  grid-template-columns: auto auto !important;
  align-items: center !important;
  justify-content: center !important;
  column-gap: 12px !important;
  min-height: 54px !important;
  padding: 10px 18px !important;
}

.signal strong {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-1px) !important;
}

.signal span {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(1px) !important;
}

/* Keep mobile centred */
@media (max-width: 760px) {
  .signal {
    width: 100% !important;
    max-width: 320px !important;
    grid-template-columns: auto auto !important;
  }
}

/* Homepage signal pills: move small labels into vertical centre only */
.signal span {
  transform: translateY(4px) !important;
}

/* Keep big words/numbers untouched */
.signal strong {
  transform: translateY(-1px) !important;
}

/* Homepage signal pills: move only big text down slightly */
.signal strong {
  transform: translateY(3px) !important;
}

/* Keep small labels exactly where they are now */
.signal span {
  transform: translateY(4px) !important;
}

/* Signal pills final: only 24/7 stays moved down */
.signal strong {
  transform: translateY(-1px) !important;
}

/* First pill only: 24/7 */
.signal-row .signal:first-child strong {
  transform: translateY(3px) !important;
}

/* Keep small labels where they already were */
.signal span {
  transform: translateY(4px) !important;
}

/* Mobile-only Explore page POLITA WORLD pill centering */
@media (max-width: 760px) {
  body.polita-has-header .hero .tag,
  body.polita-has-header .wrap .hero .tag {
    display: block !important;
    width: fit-content !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* World page extra module */
.world-extra-module {
  margin-top: 34px !important;
  text-align: center !important;
}

.world-extra-module .actions {
  justify-content: center !important;
}

/* Premium logged-in Dashboard header button */
.polita-header-links a.polita-dashboard-premium-link {
  background: linear-gradient(135deg, #00f06a 0%, #00d5ff 100%) !important;
  color: #021018 !important;
  border-color: rgba(160, 255, 230, 0.55) !important;
  box-shadow:
    0 0 18px rgba(0, 240, 106, 0.28),
    0 0 26px rgba(0, 213, 255, 0.20) !important;
  text-shadow: none !important;
}

.polita-header-links a.polita-dashboard-premium-link:hover {
  background: linear-gradient(135deg, #22ff86 0%, #35e4ff 100%) !important;
  border-color: rgba(210, 255, 245, 0.75) !important;
}

/* Final lightweight performance safety */
.polita-animated-bg,
.polita-particle {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.polita-animated-bg {
  contain: layout paint style;
}

.polita-site-header,
.polita-site-footer,
.hero,
.card,
.feature,
.command-card,
.channel-card,
.stat,
.mini,
.step,
.detail-card {
  contain: layout paint;
}

/* Reduce any remaining expensive motion on phones */
@media (max-width: 760px) {
  .polita-particle:nth-of-type(n+8) {
    display: none !important;
  }

  .polita-particle {
    animation-duration: 52s !important;
    opacity: 0.16 !important;
  }

  * {
    scroll-behavior: auto !important;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }

  .polita-particle {
    display: none !important;
  }
}

/* Final reduced-motion safety */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }

  .polita-particle {
    display: none !important;
  }
}


/* Homepage dashboard login button */
.polita-home-dashboard-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 14px;
  padding: 14px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  color: #06120b !important;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 35px rgba(34, 197, 94, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.22);
  letter-spacing: 0.01em;
}

.polita-home-dashboard-login:hover {
  transform: translateY(-1px);
  filter: brightness(1.08);
}

@media (max-width: 700px) {
  .polita-home-dashboard-login {
    width: 100%;
    box-sizing: border-box;
  }
}





/* REAL FINAL orange Stats header button */
.polita-header-links a.polita-stats-orange-link,
.polita-header-links a.polita-stats-orange-link:link,
.polita-header-links a.polita-stats-orange-link:visited,
a.polita-stats-orange-link,
a.polita-stats-orange-link:link,
a.polita-stats-orange-link:visited {
  background: linear-gradient(135deg, #ffb000, #ff6a00) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.28) !important;
  box-shadow: 0 12px 28px rgba(255,106,0,0.28), 0 0 22px rgba(255,176,0,0.18) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.polita-header-links a.polita-stats-orange-link:hover,
a.polita-stats-orange-link:hover {
  filter: brightness(1.08) !important;
  color: #ffffff !important;
}

/* FORCE orange Stats buttons */
.polita-stats-orange-link,
.polita-stats-orange-link:link,
.polita-stats-orange-link:visited,
.dashboard-stats-btn,
.dashboard-stats-btn:link,
.dashboard-stats-btn:visited {
  background: linear-gradient(135deg, #ffb000, #ff6a00) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
  box-shadow: 0 12px 28px rgba(255,106,0,0.30), 0 0 22px rgba(255,176,0,0.20) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.polita-stats-orange-link:hover,
.dashboard-stats-btn:hover {
  filter: brightness(1.08) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.polita-header-links a.polita-stats-orange-link {
  background: linear-gradient(135deg, #ffb000, #ff6a00) !important;
  color: #ffffff !important;
}



/* Direct orange Stats button fix */
.polita-header-links a.polita-stats-orange-link,
.polita-header-links a.polita-stats-orange-link:link,
.polita-header-links a.polita-stats-orange-link:visited,
a.polita-stats-orange-link,
a.polita-stats-orange-link:link,
a.polita-stats-orange-link:visited,
.dashboard-stats-btn,
.dashboard-stats-btn:link,
.dashboard-stats-btn:visited {
  background: linear-gradient(135deg, #ffb000, #ff6a00) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
  box-shadow: 0 12px 28px rgba(255,106,0,0.30), 0 0 22px rgba(255,176,0,0.20) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.polita-header-links a.polita-stats-orange-link:hover,
a.polita-stats-orange-link:hover,
.dashboard-stats-btn:hover {
  filter: brightness(1.08) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}


/* HARD FIX mobile player/profile tables: stack rows so nothing cuts off */
@media (max-width: 700px) {
  body .wrap .panel table,
  body .wrap .panel thead,
  body .wrap .panel tbody,
  body .wrap .panel tr,
  body .wrap .panel th,
  body .wrap .panel td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body .wrap .panel thead {
    display: none !important;
  }

  body .wrap .panel tr {
    margin: 0 0 12px 0 !important;
    padding: 14px 10px !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.045) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    overflow: hidden !important;
  }

  body .wrap .panel td,
  body .wrap .panel td:first-child,
  body .wrap .panel td:last-child {
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    padding: 6px 8px !important;
    border-bottom: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body .wrap .panel td:first-child {
    color: #9fffe0 !important;
    font-weight: 900 !important;
  }

  body .wrap .panel td:last-child {
    color: #ffffff !important;
    font-weight: 800 !important;
    margin-top: 4px !important;
  }

  body .wrap .panel {
    overflow: hidden !important;
  }
}




/* POLITA HOME + LEADERBOARD TEXT FIX — no header changes */
.polita-home-minigames-button,
.polita-back-button,
.polita-feature-card a,
.polita-mini-link,
a[href*="leaderboard"],
button,
.button,
.btn,
[class*="button"],
[class*="Button"] {
  text-align: center;
}

.polita-home-minigames-button::before,
.polita-back-button::before,
.polita-feature-card a::before,
.polita-mini-link::before,
a[href*="leaderboard"]::before {
  content: none !important;
}

/* Home leaderboard badge/button text safety */
a[href*="leaderboard"],
[href*="leaderboard"],
[class*="leaderboard"],
[id*="leaderboard"] {
  text-align: center;
}

/* Specific leaderboard feature page mobile/module fix */
@media (max-width: 760px) {
  html, body {
    overflow-x: hidden !important;
  }

  [class*="leaderboard"],
  [id*="leaderboard"],
  [class*="leader"],
  [id*="leader"] {
    max-width: calc(100vw - 22px) !important;
    width: min(100%, calc(100vw - 22px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    text-align: center !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  [class*="leaderboard"] h1,
  [id*="leaderboard"] h1,
  [class*="leader"] h1,
  [id*="leader"] h1,
  [class*="leaderboard"] h2,
  [id*="leaderboard"] h2,
  [class*="leader"] h2,
  [id*="leader"] h2 {
    max-width: calc(100vw - 44px) !important;
    width: 100% !important;
    margin: 0 auto 12px auto !important;
    padding: 0 8px !important;
    text-align: center !important;
    font-size: clamp(1.05rem, 6.2vw, 1.85rem) !important;
    line-height: 1.12 !important;
    letter-spacing: 0.01em !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
  }

  [class*="leaderboard"] p,
  [id*="leaderboard"] p,
  [class*="leader"] p,
  [id*="leader"] p {
    max-width: calc(100vw - 48px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    text-align: center !important;
    font-size: clamp(0.82rem, 3.8vw, 0.98rem) !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  .polita-feature-title {
    max-width: calc(100vw - 44px) !important;
    font-size: clamp(1.15rem, 6.4vw, 1.9rem) !important;
    line-height: 1.12 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .polita-feature-subtitle {
    max-width: calc(100vw - 48px) !important;
    font-size: clamp(0.82rem, 3.8vw, 0.98rem) !important;
    line-height: 1.45 !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}


/* One safe home-only Download Extension button */
a.polita-final-extension-home-btn{
  background:linear-gradient(135deg,#ff3131 0%,#ff7a18 55%,#ffb347 100%) !important;
  color:#fff !important;
  border-color:rgba(255,190,90,.58) !important;
  box-shadow:0 0 20px rgba(255,110,40,.42) !important;
  white-space:normal !important;
  line-height:1.05 !important;
  text-align:center !important;
}

a.polita-final-extension-home-btn br{
  display:block !important;
}

/* Admin-only public nav button */
.polita-header-links a.polita-admin-nav-link,
.polita-header-links a.polita-admin-nav-link:link,
.polita-header-links a.polita-admin-nav-link:visited {
  background: linear-gradient(135deg, #ff2d55, #ff7a18) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 120, 120, 0.65) !important;
  box-shadow: 0 0 20px rgba(255, 45, 85, 0.35), 0 10px 30px rgba(0,0,0,0.28) !important;
}

.polita-header-links a.polita-admin-nav-link:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* Final admin-only header/footer button */
.polita-header-links a.polita-admin-nav-link,
.polita-footer-links a.polita-admin-nav-link,
.polita-header-links a.polita-admin-nav-link:link,
.polita-footer-links a.polita-admin-nav-link:link,
.polita-header-links a.polita-admin-nav-link:visited,
.polita-footer-links a.polita-admin-nav-link:visited {
  background: linear-gradient(135deg, #ff2d55, #ff7a18) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 120, 120, 0.72) !important;
  box-shadow: 0 0 20px rgba(255, 45, 85, 0.35), 0 10px 30px rgba(0,0,0,0.28) !important;
}

.polita-header-links a.polita-admin-nav-link:hover,
.polita-footer-links a.polita-admin-nav-link:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

/* POLITA GLOBAL PUBLIC/DASHBOARD WIDTH POLISH V1 */
body {
  background:
    radial-gradient(circle at 18% 8%, rgba(95, 44, 180, 0.20), transparent 34%),
    radial-gradient(circle at 88% 30%, rgba(0, 154, 255, 0.12), transparent 34%),
    linear-gradient(135deg, #070b18 0%, #081426 48%, #071b32 100%) !important;
}

.polita-header-inner {
  width: min(100% - 28px, 1600px) !important;
  max-width: 1600px !important;
}

.polita-header-links {
  gap: 9px !important;
}

.polita-header-links a {
  border-radius: 12px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
}

.polita-site-footer .polita-footer-inner,
.polita-footer-inner {
  width: min(100% - 32px, 1540px) !important;
  max-width: 1540px !important;
}

.home-wrap,
.wrap {
  width: min(100% - 32px, 1540px) !important;
  max-width: 1540px !important;
}

.home-hero {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 420px) !important;
}

.panel,
.home-panel,
.side-panel,
.quick-card,
.feature,
.card {
  background: rgba(7, 13, 30, 0.82) !important;
  border-color: rgba(120, 155, 210, 0.18) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.26) !important;
}

@media (max-width: 900px) {
  .home-wrap,
  .wrap,
  .polita-header-inner,
  .polita-footer-inner {
    width: min(100% - 20px, 1540px) !important;
  }

  .home-hero {
    grid-template-columns: 1fr !important;
  }
}

/* POLITA SAFE DASHBOARD WIDTH / STREAMLABS STYLE POLISH V2 */
/* CSS only, no server JS changes */

:root {
  --polita-bg-main: #07111f;
  --polita-panel: rgba(7, 13, 30, 0.84);
  --polita-panel-soft: rgba(255, 255, 255, 0.045);
  --polita-line: rgba(120, 155, 210, 0.18);
  --polita-text: rgba(245, 248, 255, 0.96);
  --polita-muted: rgba(230, 240, 255, 0.72);
  --polita-purple: #7c5cff;
  --polita-blue: #129dff;
  --polita-green: #27ffc7;
}

html,
body {
  background:
    radial-gradient(circle at 12% 8%, rgba(105, 54, 190, 0.18), transparent 32%),
    radial-gradient(circle at 92% 26%, rgba(0, 140, 255, 0.12), transparent 36%),
    linear-gradient(135deg, #070b18 0%, #081426 48%, #071b32 100%) !important;
  color: var(--polita-text) !important;
}

/* Make public + dashboard pages fill space better */
.home-wrap,
.wrap,
.dash-wrap,
.dashboard-wrap,
.platform-wrap,
.app-wrap,
.page-wrap {
  width: min(100% - 32px, 1540px) !important;
  max-width: 1540px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Dashboard platform renderer */
.top,
.dash-top,
.platform-top {
  width: 100% !important;
  max-width: none !important;
}

.cloudbot-shell {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

.cloudbot-nav {
  width: 100% !important;
  background: rgba(5, 8, 20, 0.78) !important;
  border: 1px solid var(--polita-line) !important;
}

.cloudbot-nav a {
  font-size: 15px !important;
  line-height: 1.2 !important;
  border-radius: 13px !important;
}

.dash-hero,
.card,
.cloudbot-panel,
.streamer-panel,
.panel,
.rule-card,
.admin-hub-card,
.module-card,
.quick-card,
.home-panel,
.side-panel {
  background: var(--polita-panel) !important;
  border: 1px solid var(--polita-line) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.26) !important;
}

.dash-hero {
  padding: 28px !important;
  border-radius: 24px !important;
  margin-bottom: 18px !important;
}

.dash-hero h1,
.panel h1,
.card h1 {
  font-size: clamp(34px, 4.4vw, 56px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
}

.dash-hero p,
.card p,
.panel p,
.module-card p,
.cloudbot-panel p,
.quick-card p {
  color: var(--polita-muted) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.grid {
  width: 100% !important;
  gap: 16px !important;
}

.grid.two {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.75fr) !important;
}

.module-grid {
  width: 100% !important;
  grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  gap: 14px !important;
}

.module-card {
  min-height: 168px !important;
}

table {
  width: 100% !important;
  border-collapse: collapse !important;
}

th,
td {
  padding: 13px 14px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  text-align: left !important;
}

th {
  color: rgba(230, 240, 255, 0.68) !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.btn,
.dash-btn,
button.btn {
  border-radius: 12px !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

.btn:not(.secondary),
.dash-btn:not(.secondary) {
  background: linear-gradient(135deg, var(--polita-purple), var(--polita-blue)) !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(30, 105, 255, 0.22) !important;
}

.btn.secondary,
.dash-btn.secondary {
  background: rgba(255, 255, 255, 0.065) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: rgba(245,248,255,0.94) !important;
}

.status-pill,
.hint,
.user,
.side-label {
  color: rgba(232, 244, 255, 0.86) !important;
}

.eyebrow,
.side-label {
  color: var(--polita-green) !important;
}

input,
select,
textarea,
.command-search,
.rule-input,
.admin-input,
.admin-select {
  background: rgba(255, 255, 255, 0.075) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: white !important;
}

/* Header also gets more Streamlabs-style usable width */
.polita-header-inner {
  width: min(100% - 28px, 1600px) !important;
  max-width: 1600px !important;
}

.polita-header-links {
  gap: 9px !important;
}

.polita-header-links a {
  border-radius: 12px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
}

/* Mobile */
@media (max-width: 1000px) {
  .home-wrap,
  .wrap,
  .dash-wrap,
  .dashboard-wrap,
  .platform-wrap,
  .app-wrap,
  .page-wrap,
  .polita-header-inner {
    width: min(100% - 20px, 1540px) !important;
  }

  .cloudbot-shell {
    grid-template-columns: 1fr !important;
  }

  .grid.two,
  .module-grid {
    grid-template-columns: 1fr !important;
  }
}

/* POLITA FINAL PUBLIC FOOTER + DASHBOARD SIDEBAR CLEANUP V1 */

/* Footer: keep only Status, Terms, Privacy, Contact */
footer a:not([href="/status"]):not([href="/terms"]):not([href="/privacy"]):not([href="/contact"]),
footer button,
footer .btn,
footer .button,
footer [class*="btn"],
footer [class*="button"],
.site-footer a:not([href="/status"]):not([href="/terms"]):not([href="/privacy"]):not([href="/contact"]),
.site-footer button,
.site-footer .btn,
.site-footer .button,
.site-footer [class*="btn"],
.site-footer [class*="button"],
[class*="footer"] a:not([href="/status"]):not([href="/terms"]):not([href="/privacy"]):not([href="/contact"]),
[class*="footer"] button,
[class*="footer"] .btn,
[class*="footer"] .button,
[class*="footer"] [class*="btn"],
[class*="footer"] [class*="button"] {
  display: none !important;
}

footer,
.site-footer,
[class*="footer"] {
  min-height: auto !important;
}

footer nav,
.site-footer nav,
[class*="footer"] nav {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

footer a[href="/status"],
footer a[href="/terms"],
footer a[href="/privacy"],
footer a[href="/contact"],
.site-footer a[href="/status"],
.site-footer a[href="/terms"],
.site-footer a[href="/privacy"],
.site-footer a[href="/contact"],
[class*="footer"] a[href="/status"],
[class*="footer"] a[href="/terms"],
[class*="footer"] a[href="/privacy"],
[class*="footer"] a[href="/contact"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(230, 238, 255, .82) !important;
  text-decoration: none !important;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  padding: 8px 11px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(180,190,255,.14) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}

footer a[href="/status"]:hover,
footer a[href="/terms"]:hover,
footer a[href="/privacy"]:hover,
footer a[href="/contact"]:hover,
.site-footer a[href="/status"]:hover,
.site-footer a[href="/terms"]:hover,
.site-footer a[href="/privacy"]:hover,
.site-footer a[href="/contact"]:hover,
[class*="footer"] a[href="/status"]:hover,
[class*="footer"] a[href="/terms"]:hover,
[class*="footer"] a[href="/privacy"]:hover,
[class*="footer"] a[href="/contact"]:hover {
  color: #ffffff !important;
  border-color: rgba(36,240,208,.42) !important;
  background: rgba(36,240,208,.08) !important;
}

/* Dashboard sidebar: glass, less black, tighter bottom */
.app-sidebar {
  background:
    linear-gradient(180deg, rgba(29, 20, 67, .42), rgba(3, 14, 28, .50)) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  border-right: 1px solid rgba(110, 130, 255, .20) !important;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.035) !important;
  height: auto !important;
  min-height: auto !important;
  align-self: flex-start !important;
  padding-bottom: 18px !important;
}

.app-side-section {
  margin-top: 18px !important;
  margin-bottom: 8px !important;
}

.app-side-section:first-child {
  margin-top: 0 !important;
}

.app-side-link {
  background: rgba(255,255,255,.012) !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

.app-side-link:hover {
  background: rgba(255,255,255,.050) !important;
  border-color: rgba(180,190,255,.14) !important;
}

.app-side-link.active {
  background:
    linear-gradient(135deg, rgba(126,71,255,.32), rgba(25,118,210,.22)) !important;
  border-color: rgba(78,244,255,.58) !important;
  box-shadow:
    inset 3px 0 0 rgba(36,240,208,.95),
    0 0 18px rgba(36,240,208,.055) !important;
}

.app-sidebar nav,
.app-sidebar .app-side-nav {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.app-sidebar .app-side-link:last-child {
  margin-bottom: 0 !important;
}



/* POLITA SAFE MINIMAL FOOTER V4 */
.polita-site-footer {
  padding: 30px 42px 26px !important;
  min-height: auto !important;
}

.polita-footer-links {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.polita-footer-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 11px !important;
  border-radius: 10px !important;
}

.polita-footer-links a.primary,
.polita-footer-links a[href="/"],
.polita-footer-links a[href="/world"],
.polita-footer-links a[href="/features"],
.polita-footer-links a[href="/commands"],
.polita-footer-links a[href="/player"],
.polita-footer-links a[href="/player-search"],
.polita-footer-links a[href="/channels"],
.polita-footer-links a[href="/stats"],
.polita-footer-links a[href="/add-polita"],
.polita-footer-links a[href="/dashboard/admin"] {
  display: none !important;
}

.polita-footer-bottom {
  margin-top: 20px !important;
  padding-top: 16px !important;
}



/* POLITA FORCE MINIMAL FOOTER CSS V5 */
.polita-footer-links a[href="/"],
.polita-footer-links a[href="/world"],
.polita-footer-links a[href="/features"],
.polita-footer-links a[href="/commands"],
.polita-footer-links a[href="/player"],
.polita-footer-links a[href="/player-search"],
.polita-footer-links a[href="/channels"],
.polita-footer-links a[href="/stats"],
.polita-footer-links a[href="/add-polita"],
.polita-footer-links a[href="/dashboard/admin"] {
  display: none !important;
}

.polita-site-footer {
  padding: 30px 42px 26px !important;
  min-height: auto !important;
}

.polita-footer-links {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.polita-footer-links a {
  display: inline-flex !important;
}


/* POLITA MODULE CARD RESTORE V6 */
.cloudbot-modules-clean-head {
  text-align: center !important;
  margin: 8px 0 26px !important;
}

.cloudbot-modules-clean-head h1 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: 44px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
}

.cloudbot-modules-clean-head p {
  margin: 0 auto !important;
  max-width: 760px !important;
  color: rgba(225,235,255,.82) !important;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
}

.cloudbot-module-grid,
.module-grid,
.modules-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(220px, 1fr)) !important;
  gap: 14px !important;
}

.cloudbot-module-card,
.module-card,
.modules-card,
.cloudbot-module,
[class*="module-card"] {
  background:
    linear-gradient(135deg, rgba(126, 71, 255, 0.18), rgba(25, 118, 210, 0.14)),
    rgba(255,255,255,.035) !important;
  border: 1px solid rgba(180,190,255,.16) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.cloudbot-module-card:hover,
.module-card:hover,
.modules-card:hover,
.cloudbot-module:hover,
[class*="module-card"]:hover {
  background:
    linear-gradient(135deg, rgba(126, 71, 255, 0.22), rgba(25, 118, 210, 0.18)),
    rgba(255,255,255,.045) !important;
  border-color: rgba(180,190,255,.24) !important;
}

@media (max-width: 1000px) {
  .cloudbot-module-grid,
  .module-grid,
  .modules-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .cloudbot-module-grid,
  .module-grid,
  .modules-grid {
    grid-template-columns: 1fr !important;
  }
}



/* POLITA SINGLE MINIMAL FOOTER V6 */
.polita-site-footer {
  padding: 30px 42px 26px !important;
  min-height: auto !important;
}

.polita-footer-links {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.polita-footer-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.polita-footer-links a[href="/"],
.polita-footer-links a[href="/world"],
.polita-footer-links a[href="/features"],
.polita-footer-links a[href="/commands"],
.polita-footer-links a[href="/player"],
.polita-footer-links a[href="/player-search"],
.polita-footer-links a[href="/channels"],
.polita-footer-links a[href="/stats"],
.polita-footer-links a[href="/add-polita"],
.polita-footer-links a[href="/dashboard/admin"] {
  display: none !important;
}



/* POLITA FOOTER LOGO ONE-LINE POLISH V7 */
.polita-site-footer {
  padding: 28px 42px 24px !important;
  min-height: auto !important;
}

.polita-footer-inner {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 28px !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
}

.polita-footer-left {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.polita-footer-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
  text-decoration: none !important;
}

.polita-footer-brand img {
  width: 34px !important;
  height: 34px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 12px rgba(36,240,208,.32)) !important;
}

.polita-footer-wordmark {
  display: inline-flex !important;
  align-items: baseline !important;
  line-height: 1 !important;
}

.polita-footer-word {
  color: #ffffff !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  letter-spacing: -0.055em !important;
}

.polita-footer-plus {
  color: #24f06d !important;
  font-size: 28px !important;
  font-weight: 950 !important;
  text-shadow: 0 0 14px rgba(36,240,109,.75) !important;
}

.polita-footer-copy {
  margin: 0 !important;
  max-width: 560px !important;
  color: rgba(225,235,255,.76) !important;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

.polita-footer-bottom {
  margin-top: 22px !important;
  padding-top: 16px !important;
  color: rgba(180,190,255,.76) !important;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  border-top: 1px solid rgba(180,190,255,.13) !important;
}

.polita-footer-links {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  padding-top: 18px !important;
}

.polita-footer-links a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 11px !important;
  color: rgba(230,238,255,.86) !important;
  text-decoration: none !important;
  border: 1px solid rgba(180,190,255,.16) !important;
  background: rgba(255,255,255,.035) !important;
}

.polita-footer-links a:hover {
  color: #ffffff !important;
  border-color: rgba(36,240,208,.42) !important;
  background: rgba(36,240,208,.08) !important;
}

@media (max-width: 760px) {
  .polita-footer-inner {
    flex-direction: column !important;
  }

  .polita-footer-links {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    padding-top: 0 !important;
  }
}




/* POLITA FOOTER SCI-FI FONT V1 */
.polita-site-footer,
.polita-site-footer * ,
.polita-footer-copy,
.polita-footer-bottom,
.polita-footer-links a,
.polita-footer-word,
.polita-footer-plus {
  font-family: "Orbitron", "Audiowide", "Rajdhani", "Eurostile", sans-serif !important;
  letter-spacing: -0.02em !important;
}

.polita-footer-copy {
  font-size: 14px !important;
  line-height: 1.65 !important;
  font-weight: 600 !important;
}

.polita-footer-bottom {
  font-size: 13px !important;
  font-weight: 600 !important;
}

.polita-footer-links a {
  font-size: 13px !important;
  font-weight: 700 !important;
}

.polita-footer-word {
  font-size: 30px !important;
  font-weight: 900 !important;
}

.polita-footer-plus {
  font-size: 30px !important;
  font-weight: 900 !important;
}



/* POLITA FOOTER BUTTON SCI-FI POLISH V2 */
.polita-footer-links a {
  font-family: "Orbitron", "Audiowide", "Rajdhani", "Eurostile", sans-serif !important;
  letter-spacing: -0.02em !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}



/* POLITA CORRECTED SIDEBAR LOGO FULL HEIGHT V2 */
html,
body {
  min-height: 100% !important;
}

#politaAppShell,
.app-shell {
  min-height: 100vh !important;
  align-items: stretch !important;
}

#politaAppShell .app-sidebar,
.app-shell .app-sidebar,
aside.app-sidebar {
  min-height: 100vh !important;
  height: auto !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 20px 10px 34px !important;
  background:
    linear-gradient(180deg, rgba(36, 22, 78, .42), rgba(5, 16, 31, .50)) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  border-right: 1px solid rgba(120,135,255,.20) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  box-shadow:
    inset -1px 0 0 rgba(255,255,255,.035),
    0 18px 36px rgba(0,0,0,.14) !important;
  overflow: visible !important;
}

.app-sidebar-logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 4px 0 34px !important;
  padding: 4px 0 0 !important;
}

.app-sidebar-logo a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 76px !important;
  height: 76px !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(120,135,255,.16) !important;
  box-shadow:
    0 0 30px rgba(36,240,208,.14),
    inset 0 0 18px rgba(255,255,255,.025) !important;
}

.app-sidebar-logo a:hover {
  border-color: rgba(36,240,208,.42) !important;
  box-shadow:
    0 0 34px rgba(36,240,208,.25),
    inset 0 0 18px rgba(255,255,255,.035) !important;
}

.app-sidebar-logo img {
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 14px rgba(36,240,208,.34)) !important;
}

.app-sidebar .app-side-section {
  margin: 30px 10px 12px !important;
}

.app-sidebar .app-side-section:first-of-type {
  margin-top: 0 !important;
}

.app-sidebar .app-side-link {
  min-height: 43px !important;
  margin: 7px 0 !important;
  padding: 10px 13px !important;
  border-radius: 12px !important;
}

.app-sidebar .app-side-link + .app-side-section {
  margin-top: 34px !important;
}

/* Hide the old floating main header logo once the logo lives in the sidebar */
.app-main .app-topbar img[src*="dashboard-logo"],
.app-main .app-topbar a[href="/dashboard"] img[src*="dashboard-logo"],
.app-main .app-topbar a[href="/"] img[src*="dashboard-logo"] {
  display: none !important;
}

.app-main .app-topbar {
  padding-left: 0 !important;
}

@media (max-width: 760px) {
  #politaAppShell .app-sidebar,
  .app-shell .app-sidebar,
  aside.app-sidebar {
    min-height: 100vh !important;
  }

  .app-sidebar-logo {
    margin-bottom: 26px !important;
  }

  .app-sidebar-logo a {
    width: 68px !important;
    height: 68px !important;
  }

  .app-sidebar-logo img {
    width: 54px !important;
    height: 54px !important;
  }
}


/* POLITA CLEAN SMALL-BROWSER RESPONSIVE LAYOUT V16 */
/* Large desktop remains unchanged. Narrow browser becomes a compact dashboard instead of crushing. */
@media (max-width: 950px) {
  html,
  body {
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .app-shell,
  .dashboard-shell,
  .polita-dashboard-shell,
  .app-layout,
  .dashboard-layout,
  .polita-layout,
  .dashboard-page,
  .polita-dashboard,
  .app-dashboard {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .app-sidebar,
  .polita-sidebar,
  .dashboard-sidebar {
    position: relative !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    flex: 0 0 220px !important;
    grid-column: 1 !important;
    left: auto !important;
    top: auto !important;
    z-index: 3 !important;
  }

  .app-main,
  .dashboard-main,
  .polita-main,
  .dashboard-content,
  .app-content,
  main {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .app-sidebar a,
  .app-sidebar button,
  .app-sidebar .nav-link,
  .app-sidebar .sidebar-link,
  .app-sidebar .dashboard-nav-link,
  .polita-sidebar a,
  .polita-sidebar button,
  .dashboard-sidebar a,
  .dashboard-sidebar button {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .app-sidebar h1,
  .app-sidebar h2,
  .app-sidebar h3,
  .app-sidebar .sidebar-section-title,
  .app-sidebar .nav-section-title,
  .polita-sidebar h1,
  .polita-sidebar h2,
  .polita-sidebar h3,
  .dashboard-sidebar h1,
  .dashboard-sidebar h2,
  .dashboard-sidebar h3 {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 13px !important;
  }

  .app-sidebar-logo img {
    width: 70px !important;
    height: 70px !important;
  }

  .dash-grid,
  .dashboard-grid,
  .module-grid,
  .modules-grid,
  .stat-grid,
  .stats-grid,
  .cards-grid,
  .customise-v4-grid,
  .craft-v4-grid,
  .cook-v4-grid,
  .class-v4-grid,
  .settings-simple-status-grid {
    grid-template-columns: 1fr !important;
  }

  .dash-card,
  .module-card,
  .stat-card,
  .customise-v4-card,
  .craft-v4-card,
  .cook-v4-card,
  .class-v4-card {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .dashboard-title,
  .customise-v4-title,
  .page-title,
  h1 {
    font-size: clamp(30px, 6vw, 48px) !important;
    line-height: 1.05 !important;
    word-break: normal !important;
  }

  .dashboard-subtitle,
  .customise-v4-sub,
  .page-subtitle {
    max-width: 100% !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
}

/* Very small fallback: still keep sidebar and content beside each other, just slimmer */
@media (max-width: 720px) {
  .app-shell,
  .dashboard-shell,
  .polita-dashboard-shell,
  .app-layout,
  .dashboard-layout,
  .polita-layout,
  .dashboard-page,
  .polita-dashboard,
  .app-dashboard {
    grid-template-columns: 190px minmax(0, 1fr) !important;
  }

  .app-sidebar,
  .polita-sidebar,
  .dashboard-sidebar {
    width: 190px !important;
    min-width: 190px !important;
    max-width: 190px !important;
    flex-basis: 190px !important;
  }

  .app-sidebar a,
  .app-sidebar button,
  .app-sidebar .nav-link,
  .app-sidebar .sidebar-link,
  .app-sidebar .dashboard-nav-link {
    font-size: 12px !important;
  }
}


/* POLITA SIDEBAR ELLIPSIS TEXT FIX V17 */
/* Stop long sidebar labels from spilling through the dashboard on narrow browser widths. */
.app-sidebar,
.polita-sidebar,
.dashboard-sidebar {
  overflow: hidden !important;
}

.app-sidebar *,
.polita-sidebar *,
.dashboard-sidebar * {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

.app-sidebar a,
.app-sidebar button,
.app-sidebar .nav-link,
.app-sidebar .sidebar-link,
.app-sidebar .dashboard-nav-link,
.app-sidebar [class*="nav"],
.app-sidebar [class*="link"],
.polita-sidebar a,
.polita-sidebar button,
.dashboard-sidebar a,
.dashboard-sidebar button {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-sidebar a *,
.app-sidebar button *,
.app-sidebar .nav-link *,
.app-sidebar .sidebar-link *,
.app-sidebar .dashboard-nav-link *,
.polita-sidebar a *,
.polita-sidebar button *,
.dashboard-sidebar a *,
.dashboard-sidebar button * {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.app-sidebar h1,
.app-sidebar h2,
.app-sidebar h3,
.app-sidebar .sidebar-section-title,
.app-sidebar .nav-section-title,
.app-sidebar [class*="section"],
.app-sidebar [class*="title"],
.polita-sidebar h1,
.polita-sidebar h2,
.polita-sidebar h3,
.dashboard-sidebar h1,
.dashboard-sidebar h2,
.dashboard-sidebar h3 {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Extra narrow-browser protection for the current good compact layout */
@media (max-width: 950px) {
  .app-sidebar,
  .polita-sidebar,
  .dashboard-sidebar {
    overflow: hidden !important;
  }

  .app-sidebar a,
  .app-sidebar button,
  .app-sidebar .nav-link,
  .app-sidebar .sidebar-link,
  .app-sidebar .dashboard-nav-link,
  .polita-sidebar a,
  .polita-sidebar button,
  .dashboard-sidebar a,
  .dashboard-sidebar button {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* POLITA FINAL PROPORTIONAL SIDEBAR LOGO V6 */
/* Logo scales as one grouped block with the sidebar, no cropping or squashing. */

.polita-brand,
.polita-logo-home-link,
.app-header-brand,
.app-sidebar .polita-brand,
.dashboard-sidebar .polita-brand,
.polita-sidebar .polita-brand {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 4px 0 2px !important;
  margin: 0 auto 2px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  text-decoration: none !important;
}

.polita-brand::before,
.polita-brand::after,
.polita-logo-home-link::before,
.polita-logo-home-link::after {
  display: none !important;
  content: none !important;
}

.polita-brand img,
.polita-logo-home-link img,
.app-header-brand img,
.app-sidebar .polita-brand img,
.dashboard-sidebar .polita-brand img,
.polita-sidebar .polita-brand img {
  display: block !important;
  width: min(88%, 230px) !important;
  height: auto !important;
  max-width: 230px !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Remove fixed-size/crop behaviour from the generic first sidebar child */
.dashboard-sidebar > *:first-child,
.polita-sidebar > *:first-child,
.app-sidebar > *:first-child,
[class*="sidebar"] > *:first-child {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  margin-bottom: 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Medium / smaller browser: logo shrinks with sidebar */
@media (max-width: 950px) {
  .polita-brand,
  .polita-logo-home-link,
  .app-header-brand,
  .app-sidebar .polita-brand,
  .dashboard-sidebar .polita-brand,
  .polita-sidebar .polita-brand {
    padding: 8px 0 6px !important;
    margin-bottom: 6px !important;
  }

  .polita-brand img,
  .polita-logo-home-link img,
  .app-header-brand img,
  .app-sidebar .polita-brand img,
  .dashboard-sidebar .polita-brand img,
  .polita-sidebar .polita-brand img {
    width: min(70%, 155px) !important;
    max-width: 155px !important;
  }
}

/* Very small compact sidebar: still proportional, never cropped */
@media (max-width: 720px) {
  .polita-brand img,
  .polita-logo-home-link img,
  .app-header-brand img,
  .app-sidebar .polita-brand img,
  .dashboard-sidebar .polita-brand img,
  .polita-sidebar .polita-brand img {
    width: min(66%, 130px) !important;
    max-width: 130px !important;
  }
}



/* POLITA FINAL SIDEBAR LOGO SIZE BOOST V7 */
/* Size values boosted in POLITA FINAL PROPORTIONAL SIDEBAR LOGO V6:
   desktop 74% / 185px
   medium 70% / 155px
   small 66% / 130px
*/


/* POLITA DESKTOP SIDEBAR LOGO BIGGER FINAL V8 */
/* Desktop logo increased to 88% / 230px.
   Compact browser logo values kept from V7 because they were confirmed perfect. */

/* POLITA HARD SIDEBAR LOGO SIZE OVERRIDE V9 */
/* Final winning override: bigger logo, still scales, no cropping. */
.app-sidebar .polita-brand,
.dashboard-sidebar .polita-brand,
.polita-sidebar .polita-brand,
.polita-brand,
.polita-logo-home-link {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 2px 0 0 !important;
  margin: 0 auto 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.app-sidebar .polita-brand img,
.dashboard-sidebar .polita-brand img,
.polita-sidebar .polita-brand img,
.polita-brand img,
.polita-logo-home-link img {
  width: min(92%, 255px) !important;
  height: auto !important;
  max-width: 255px !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 950px) {
  .app-sidebar .polita-brand img,
  .dashboard-sidebar .polita-brand img,
  .polita-sidebar .polita-brand img,
  .polita-brand img,
  .polita-logo-home-link img {
    width: min(82%, 175px) !important;
    max-width: 175px !important;
  }
}

@media (max-width: 720px) {
  .app-sidebar .polita-brand img,
  .dashboard-sidebar .polita-brand img,
  .polita-sidebar .polita-brand img,
  .polita-brand img,
  .polita-logo-home-link img {
    width: min(76%, 145px) !important;
    max-width: 145px !important;
  }
}


/* POLITA REAL LOGO CLASSES SIZE FIX V10 */
/* Actual sidebar logo classes are polita-logo-home-link and polita-logo-board. */
.polita-logo-home-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 auto 4px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.polita-logo-board {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 auto !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.polita-logo-home-link img,
.polita-logo-board img,
.polita-logo-home-link > img,
.polita-logo-board > img {
  width: 185px !important;
  height: auto !important;
  max-width: 88% !important;
  max-height: none !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Pull the first section up under the bigger logo */
.polita-logo-home-link + *,
.polita-logo-board + *,
.polita-sidebar .polita-logo-home-link + *,
.polita-sidebar .polita-logo-board + *,
.app-sidebar .polita-logo-home-link + *,
.app-sidebar .polita-logo-board + * {
  margin-top: 6px !important;
}

@media (max-width: 950px) {
  .polita-logo-home-link img,
  .polita-logo-board img,
  .polita-logo-home-link > img,
  .polita-logo-board > img {
    width: 150px !important;
    max-width: 82% !important;
  }
}

@media (max-width: 720px) {
  .polita-logo-home-link img,
  .polita-logo-board img,
  .polita-logo-home-link > img,
  .polita-logo-board > img {
    width: 128px !important;
    max-width: 76% !important;
  }
}


/* POLITA REMOVE CURRENT DASHBOARD LOGOS RESET V12 */
/* Hide current broken logo placements so we can rebuild only the sidebar logo fresh. */

/* Sidebar logo wrappers/images */
.polita-logo-home-link,
.polita-logo-board,
.polita-brand,
.app-header-brand.dashboard-logo-image-link,
.dashboard-logo-image-link,
a[href="/dashboard"].app-header-brand,
a[href="/dashboard"].dashboard-logo-image-link {
  display: none !important;
}

/* Any direct dashboard-logo image */
img[src*="dashboard-logo"],
img[src*="/assets/dashboard-logo"],
img[src*="polita-logo"],
img[src*="bot-logo"] {
  display: none !important;
}

/* Remove leftover logo spacing if the wrapper remains */
.app-sidebar .polita-logo-home-link,
.app-sidebar .polita-logo-board,
.app-sidebar .polita-brand,
.app-sidebar .app-header-brand,
.app-sidebar .dashboard-logo-image-link,
aside .polita-logo-home-link,
aside .polita-logo-board,
aside .polita-brand,
aside .app-header-brand,
aside .dashboard-logo-image-link {
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Pull sidebar content up after logo reset */
.app-sidebar,
.dashboard-sidebar,
.polita-sidebar,
aside {
  padding-top: 18px !important;
}


/* POLITA FORCED FRESH SIDEBAR LOGO + FIXED AVATAR V14 */
/* Fresh logo added by JS, not affected by old hidden dashboard-logo rules. */
#politaFreshSidebarLogoReal {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 12px 0 12px !important;
  margin: 0 auto 12px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  overflow: visible !important;
}

#politaFreshSidebarLogoReal img {
  display: block !important;
  width: min(82%, 165px) !important;
  max-width: 165px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#politaFreshSidebarLogoReal:hover img {
  filter: drop-shadow(0 0 14px rgba(36,240,208,.22)) !important;
}

@media (max-width: 950px) {
  #politaFreshSidebarLogoReal {
    padding: 10px 0 10px !important;
    margin-bottom: 10px !important;
  }

  #politaFreshSidebarLogoReal img {
    width: min(74%, 135px) !important;
    max-width: 135px !important;
  }
}

@media (max-width: 720px) {
  #politaFreshSidebarLogoReal img {
    width: min(70%, 118px) !important;
    max-width: 118px !important;
  }
}

/* Keep the top-right account/avatar planted instead of drifting with stretched content. */
.app-topbar a[href*="account"],
.app-topbar a[href*="profile"],
.app-topbar a[href*="dashboard"] img[src*="avatar"],
.app-topbar img[src*="avatar"],
.app-topbar img[src*="profile"],
.dashboard-topbar a[href*="account"],
.dashboard-topbar a[href*="profile"],
.dashboard-topbar img[src*="avatar"],
.dashboard-topbar img[src*="profile"],
.app-header a[href*="account"],
.app-header a[href*="profile"],
.app-header img[src*="avatar"],
.app-header img[src*="profile"] {
  flex: 0 0 auto !important;
}


/* POLITA FINAL SIDEBAR LOGO PADDING + FIXED AVATAR V15 */
/* Clean professional sidebar logo size and spacing. */
#politaFreshSidebarLogoReal {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 10px 0 6px !important;
  margin: 0 auto 8px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  overflow: visible !important;
}

#politaFreshSidebarLogoReal img {
  display: block !important;
  width: min(64%, 125px) !important;
  max-width: 125px !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  padding: 0 !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Pull PERSONAL section closer to logo */
#politaFreshSidebarLogoReal + *,
#politaFreshSidebarLogoReal ~ .polita-nav-section:first-of-type,
#politaFreshSidebarLogoReal ~ [class*="section"]:first-of-type {
  margin-top: 4px !important;
}

/* Keep compact browser clean */
@media (max-width: 950px) {
  #politaFreshSidebarLogoReal {
    padding: 8px 0 5px !important;
    margin-bottom: 7px !important;
  }

  #politaFreshSidebarLogoReal img {
    width: min(60%, 108px) !important;
    max-width: 108px !important;
  }
}

@media (max-width: 720px) {
  #politaFreshSidebarLogoReal {
    padding: 7px 0 4px !important;
    margin-bottom: 6px !important;
  }

  #politaFreshSidebarLogoReal img {
    width: min(58%, 96px) !important;
    max-width: 96px !important;
  }
}

/* Plant the top-right profile/avatar in the dashboard topbar. */
.app-topbar,
.dashboard-topbar,
.app-header,
.dashboard-header {
  position: relative !important;
}

.app-topbar > a:last-child,
.dashboard-topbar > a:last-child,
.app-header > a:last-child,
.dashboard-header > a:last-child,
.app-topbar .avatar,
.dashboard-topbar .avatar,
.app-header .avatar,
.dashboard-header .avatar,
.app-topbar img[src*="avatar"],
.dashboard-topbar img[src*="avatar"],
.app-header img[src*="avatar"],
.dashboard-header img[src*="avatar"],
.app-topbar img[src*="profile"],
.dashboard-topbar img[src*="profile"],
.app-header img[src*="profile"],
.dashboard-header img[src*="profile"] {
  position: fixed !important;
  top: 30px !important;
  right: 34px !important;
  z-index: 9999 !important;
  flex: 0 0 auto !important;
}

@media (max-width: 950px) {
  .app-topbar > a:last-child,
  .dashboard-topbar > a:last-child,
  .app-header > a:last-child,
  .dashboard-header > a:last-child,
  .app-topbar .avatar,
  .dashboard-topbar .avatar,
  .app-header .avatar,
  .dashboard-header .avatar,
  .app-topbar img[src*="avatar"],
  .dashboard-topbar img[src*="avatar"],
  .app-header img[src*="avatar"],
  .dashboard-header img[src*="avatar"],
  .app-topbar img[src*="profile"],
  .dashboard-topbar img[src*="profile"],
  .app-header img[src*="profile"],
  .dashboard-header img[src*="profile"] {
    top: 24px !important;
    right: 24px !important;
  }
}


/* POLITA TIGHT SIDEBAR LOGO GAP + COMPACT TOPBAR FIX V16 */
/* Pull PERSONAL much closer to the sidebar robot logo. */
#politaFreshSidebarLogoReal {
  padding: 4px 0 0 !important;
  margin: 0 auto 0 !important;
}

#politaFreshSidebarLogoReal img {
  width: min(62%, 118px) !important;
  max-width: 118px !important;
}

/* Kill the extra inherited top spacing on the first sidebar section. */
#politaFreshSidebarLogoReal + *,
#politaFreshSidebarLogoReal ~ *:first-of-type,
.app-sidebar #politaFreshSidebarLogoReal + *,
.dashboard-sidebar #politaFreshSidebarLogoReal + *,
.polita-sidebar #politaFreshSidebarLogoReal + *,
aside #politaFreshSidebarLogoReal + * {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Specifically pull section headings up after the fresh logo. */
#politaFreshSidebarLogoReal ~ .polita-nav-section:first-of-type,
#politaFreshSidebarLogoReal ~ .sidebar-section:first-of-type,
#politaFreshSidebarLogoReal ~ [class*="section"]:first-of-type {
  margin-top: 2px !important;
}

/* Compact mode: smaller logo and tighter gap so menu starts professionally. */
@media (max-width: 950px) {
  #politaFreshSidebarLogoReal {
    padding: 3px 0 0 !important;
    margin-bottom: 0 !important;
  }

  #politaFreshSidebarLogoReal img {
    width: min(58%, 102px) !important;
    max-width: 102px !important;
  }
}

@media (max-width: 720px) {
  #politaFreshSidebarLogoReal {
    padding: 2px 0 0 !important;
    margin-bottom: 0 !important;
  }

  #politaFreshSidebarLogoReal img {
    width: min(54%, 92px) !important;
    max-width: 92px !important;
  }
}

/* Stop compact search bar and profile avatar colliding. */
@media (max-width: 950px) {
  .app-topbar,
  .dashboard-topbar,
  .app-header,
  .dashboard-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: center !important;
    column-gap: 12px !important;
    padding-right: 14px !important;
  }

  .app-topbar input,
  .dashboard-topbar input,
  .app-header input,
  .dashboard-header input,
  .app-topbar .search,
  .dashboard-topbar .search,
  .app-header .search,
  .dashboard-header .search,
  .app-topbar [class*="search"],
  .dashboard-topbar [class*="search"],
  .app-header [class*="search"],
  .dashboard-header [class*="search"] {
    max-width: calc(100% - 58px) !important;
    min-width: 0 !important;
  }

  .app-topbar > a:last-child,
  .dashboard-topbar > a:last-child,
  .app-header > a:last-child,
  .dashboard-header > a:last-child,
  .app-topbar img[src*="avatar"],
  .dashboard-topbar img[src*="avatar"],
  .app-header img[src*="avatar"],
  .dashboard-header img[src*="avatar"],
  .app-topbar img[src*="profile"],
  .dashboard-topbar img[src*="profile"],
  .app-header img[src*="profile"],
  .dashboard-header img[src*="profile"] {
    position: fixed !important;
    top: 22px !important;
    right: 18px !important;
    z-index: 9999 !important;
  }
}

@media (max-width: 720px) {
  .app-topbar input,
  .dashboard-topbar input,
  .app-header input,
  .dashboard-header input,
  .app-topbar .search,
  .dashboard-topbar .search,
  .app-header .search,
  .dashboard-header .search,
  .app-topbar [class*="search"],
  .dashboard-topbar [class*="search"],
  .app-header [class*="search"],
  .dashboard-header [class*="search"] {
    max-width: calc(100% - 64px) !important;
  }

  .app-topbar > a:last-child,
  .dashboard-topbar > a:last-child,
  .app-header > a:last-child,
  .dashboard-header > a:last-child,
  .app-topbar img[src*="avatar"],
  .dashboard-topbar img[src*="avatar"],
  .app-header img[src*="avatar"],
  .dashboard-header img[src*="avatar"],
  .app-topbar img[src*="profile"],
  .dashboard-topbar img[src*="profile"],
  .app-header img[src*="profile"],
  .dashboard-header img[src*="profile"] {
    top: 20px !important;
    right: 14px !important;
  }
}


/* POLITA FINAL SIDEBAR TABS UP V17 */
/* Final polish: pull PERSONAL and menu tabs closer to the logo. */
#politaFreshSidebarLogoReal {
  padding: 0 !important;
  margin: 0 auto -22px !important;
}

#politaFreshSidebarLogoReal img {
  margin-bottom: 0 !important;
}

/* Pull the first section heading upward */
#politaFreshSidebarLogoReal + *,
#politaFreshSidebarLogoReal ~ .polita-nav-section:first-of-type,
#politaFreshSidebarLogoReal ~ .sidebar-section:first-of-type,
#politaFreshSidebarLogoReal ~ [class*="section"]:first-of-type {
  margin-top: -18px !important;
  padding-top: 0 !important;
}

/* Keep compact browser tidy too */
@media (max-width: 950px) {
  #politaFreshSidebarLogoReal {
    margin-bottom: -18px !important;
  }

  #politaFreshSidebarLogoReal + *,
  #politaFreshSidebarLogoReal ~ .polita-nav-section:first-of-type,
  #politaFreshSidebarLogoReal ~ .sidebar-section:first-of-type,
  #politaFreshSidebarLogoReal ~ [class*="section"]:first-of-type {
    margin-top: -14px !important;
  }
}

@media (max-width: 720px) {
  #politaFreshSidebarLogoReal {
    margin-bottom: -14px !important;
  }

  #politaFreshSidebarLogoReal + *,
  #politaFreshSidebarLogoReal ~ .polita-nav-section:first-of-type,
  #politaFreshSidebarLogoReal ~ .sidebar-section:first-of-type,
  #politaFreshSidebarLogoReal ~ [class*="section"]:first-of-type {
    margin-top: -10px !important;
  }
}


/* POLITA FINAL SIDEBAR LOGO NUDGE DOWN V18 */
/* Move only the bot logo image down slightly without moving menu tabs. */
#politaFreshSidebarLogoReal img {
  transform: translateY(8px) !important;
}

@media (max-width: 950px) {
  #politaFreshSidebarLogoReal img {
    transform: translateY(6px) !important;
  }
}

@media (max-width: 720px) {
  #politaFreshSidebarLogoReal img {
    transform: translateY(5px) !important;
  }
}


/* POLITA PERSONAL PROFILE HEADER CENTER POLISH V19 */
/* Centre the avatar + username + level/prestige/badges group without changing its internal layout. */

/* Main dashboard identity row */
.app-main .dash-pills:first-of-type,
.app-main .player-header:first-of-type,
.app-main .profile-header:first-of-type,
.app-main .dashboard-profile:first-of-type,
.app-main .dashboard-user:first-of-type,
.app-main .user-head:first-of-type,
.app-main .player-head:first-of-type,
.app-main .overview-player:first-of-type {
  width: fit-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}

/* The exact profile row usually contains the avatar image and AUDIONIX name */
.app-main .dash-pills:first-of-type {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-align: left !important;
}

/* Keep the text grouped tightly and clean */
.app-main .dash-pills:first-of-type h1,
.app-main .dash-pills:first-of-type h2,
.app-main .dash-pills:first-of-type .username,
.app-main .dash-pills:first-of-type .name {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Keep level / prestige / badges as one clean line or tidy wrap */
.app-main .dash-pills:first-of-type p,
.app-main .dash-pills:first-of-type small,
.app-main .dash-pills:first-of-type .meta,
.app-main .dash-pills:first-of-type .stats {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

/* Do not affect stat cards underneath */
.app-main .dash-pills:first-of-type + .stats-grid,
.app-main .dash-pills:first-of-type + .dashboard-grid,
.app-main .dash-pills:first-of-type + .cards-grid {
  width: 100% !important;
  max-width: 100% !important;
}

/* Compact browser: keep group centred but do not let it overflow */
@media (max-width: 950px) {
  .app-main .dash-pills:first-of-type {
    max-width: calc(100vw - 260px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 720px) {
  .app-main .dash-pills:first-of-type {
    max-width: calc(100vw - 230px) !important;
  }
}


/* POLITA FORCE CENTER REAL PROFILE IDENTITY GROUP V20 */
/* Centres only the avatar + username + level/prestige/badges block. */
#politaRealCenteredIdentityGroup {
  width: fit-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: left !important;
}

/* Keep the inside exactly grouped, not stacked or stretched */
#politaRealCenteredIdentityGroup > * {
  flex-shrink: 0 !important;
}

#politaRealCenteredIdentityGroup img {
  flex: 0 0 auto !important;
}

#politaRealCenteredIdentityGroup h1,
#politaRealCenteredIdentityGroup h2,
#politaRealCenteredIdentityGroup p,
#politaRealCenteredIdentityGroup small {
  text-align: left !important;
}

/* Compact browser: still centre the group safely without overflow */
@media (max-width: 950px) {
  #politaRealCenteredIdentityGroup {
    max-width: calc(100vw - 260px) !important;
  }
}

@media (max-width: 720px) {
  #politaRealCenteredIdentityGroup {
    max-width: calc(100vw - 230px) !important;
  }
}


/* POLITA RUNTIME CENTER PROFILE ROW V21 */
#politaRuntimeCenteredProfileRow {
  width: fit-content !important;
  max-width: max-content !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: left !important;
  gap: 12px !important;
  z-index: 2 !important;
}

#politaRuntimeCenteredProfileRow * {
  max-width: none !important;
}

#politaRuntimeCenteredProfileRow img {
  flex: 0 0 auto !important;
}

@media (max-width: 950px) {
  #politaRuntimeCenteredProfileRow {
    transform: translateX(-50%) scale(.96) !important;
    transform-origin: center center !important;
  }
}


/* POLITA CENTER PERSONAL OVERVIEW PROGRESS TITLE V22 */
/* Make only the /dashboard Progress heading match the Player Stats style. */
.polita-centered-progress-title {
  width: 100% !important;
  max-width: 100% !important;
  margin: 22px auto 8px !important;
  text-align: center !important;
  display: block !important;
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.055em !important;
  color: #fff !important;
}

.polita-centered-progress-subtitle {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 24px !important;
  text-align: center !important;
  display: block !important;
  color: rgba(226, 234, 255, 0.78) !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  font-weight: 850 !important;
}

/* Keep compact browser clean */
@media (max-width: 950px) {
  .polita-centered-progress-title {
    font-size: clamp(36px, 7vw, 52px) !important;
    margin-top: 18px !important;
    margin-bottom: 8px !important;
  }

  .polita-centered-progress-subtitle {
    font-size: 15px !important;
    margin-bottom: 18px !important;
  }
}


/* POLITA HEADER SIZE MATCH + CLEAN INFO TEXT V23 */
/* Match the Personal Overview Progress header to the cleaner Player Stats header size */
.polita-centered-progress-title {
  font-size: clamp(36px, 4vw, 52px) !important;
  line-height: 1 !important;
  margin: 18px auto 8px !important;
  letter-spacing: -0.045em !important;
}

.polita-centered-progress-subtitle {
  font-size: 16px !important;
  line-height: 1.4 !important;
  margin: 0 auto 22px !important;
}

/* Keep all dashboard page hero headings consistent */
.app-main > h1,
.app-main > .page-title,
.app-main .dashboard-page-title,
.app-main .polita-page-title {
  font-size: clamp(36px, 4vw, 52px) !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
}

/* Compact browser */
@media (max-width: 950px) {
  .polita-centered-progress-title,
  .app-main > h1,
  .app-main > .page-title,
  .app-main .dashboard-page-title,
  .app-main .polita-page-title {
    font-size: clamp(32px, 6vw, 46px) !important;
  }

  .polita-centered-progress-subtitle {
    font-size: 15px !important;
  }
}


/* POLITA MATCH PROGRESS HEADER SPACING V24 */
/* Make the /dashboard Progress heading/subtitle spacing match Player Stats and Player Customisation. */
.polita-centered-progress-title {
  margin-top: 18px !important;
  margin-bottom: 6px !important;
  line-height: 0.95 !important;
}

.polita-centered-progress-subtitle {
  margin-top: 0 !important;
  margin-bottom: 26px !important;
  line-height: 1.25 !important;
}

/* Keep compact browser tidy */
@media (max-width: 950px) {
  .polita-centered-progress-title {
    margin-top: 16px !important;
    margin-bottom: 5px !important;
  }

  .polita-centered-progress-subtitle {
    margin-bottom: 22px !important;
  }
}


/* POLITA PROFILE XP BAR UNDER NAME V25 */
.polita-profile-xp-wrap {
  margin-top: 5px !important;
  width: min(320px, 100%) !important;
  display: grid !important;
  gap: 5px !important;
}

.polita-profile-xp-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  color: rgba(238, 244, 255, .92) !important;
  white-space: nowrap !important;
}

.polita-profile-xp-label {
  color: #24f0d0 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.polita-profile-xp-bar {
  width: 100% !important;
  height: 8px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(120,150,225,.26) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.polita-profile-xp-fill {
  height: 100% !important;
  width: 72% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #24f0d0, #25f7a4) !important;
  box-shadow: 0 0 14px rgba(36,240,208,.28) !important;
}

.polita-profile-xp-bottom {
  color: rgba(226, 234, 255, .70) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

@media (max-width: 950px) {
  .polita-profile-xp-wrap {
    width: min(270px, 100%) !important;
  }

  .polita-profile-xp-top {
    font-size: 10px !important;
  }

  .polita-profile-xp-bottom {
    font-size: 9px !important;
  }
}


/* POLITA FORCE PROFILE XP BAR + PROGRESS SPACING V26 */
/* Make Progress title/subtitle spacing match the other dashboard pages better. */
.polita-centered-progress-title {
  margin-top: 18px !important;
  margin-bottom: 14px !important;
  line-height: 1 !important;
}

.polita-centered-progress-subtitle {
  margin-top: 0 !important;
  margin-bottom: 30px !important;
  line-height: 1.35 !important;
}

/* XP bar replacing Level | Prestige | Badges under the profile name. */
.polita-profile-xp-wrap-v26 {
  margin-top: 7px !important;
  width: 300px !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 6px !important;
}

.polita-profile-xp-top-v26 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  color: rgba(245, 248, 255, .95) !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.polita-profile-xp-next-v26 {
  color: #24f0d0 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.polita-profile-xp-track-v26 {
  width: 100% !important;
  height: 9px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(120,150,225,.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.polita-profile-xp-fill-v26 {
  height: 100% !important;
  width: 72% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #24f0d0, #25f7a4) !important;
  box-shadow: 0 0 14px rgba(36,240,208,.28) !important;
}

.polita-profile-xp-bottom-v26 {
  color: rgba(226, 234, 255, .72) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

@media (max-width: 950px) {
  .polita-profile-xp-wrap-v26 {
    width: 250px !important;
  }

  .polita-centered-progress-title {
    margin-bottom: 12px !important;
  }

  .polita-centered-progress-subtitle {
    margin-bottom: 24px !important;
  }
}


/* POLITA REMOVE OVERVIEW AUDIONIX BLOCK + LIFT PROGRESS V28 */
/* Hide the old AUDIONIX identity block on /dashboard only */
.polita-hide-overview-identity-v28 {
  display: none !important;
}

/* Make Overview Progress sit like the other page headers */
.polita-overview-progress-final-v28 {
  text-align: center !important;
  width: 100% !important;
  margin: 32px auto 8px !important;
  font-size: clamp(38px, 4.3vw, 56px) !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  font-weight: 950 !important;
  color: #fff !important;
}

.polita-overview-progress-subtitle-final-v28 {
  text-align: center !important;
  width: 100% !important;
  margin: 0 auto 30px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
  color: rgba(226, 234, 255, .78) !important;
}

/* Remove any old forced oversized Progress rules */
.polita-centered-progress-title {
  font-size: clamp(38px, 4.3vw, 56px) !important;
  margin: 32px auto 8px !important;
  line-height: 1 !important;
}

.polita-centered-progress-subtitle {
  font-size: 16px !important;
  margin: 0 auto 30px !important;
  line-height: 1.35 !important;
}

@media (max-width: 950px) {
  .polita-overview-progress-final-v28,
  .polita-centered-progress-title {
    font-size: clamp(34px, 6vw, 48px) !important;
    margin-top: 26px !important;
  }

  .polita-overview-progress-subtitle-final-v28,
  .polita-centered-progress-subtitle {
    font-size: 15px !important;
    margin-bottom: 24px !important;
  }
}


/* POLITA EXACT OVERVIEW HEADER MATCH V29 */
/* Force Overview Progress title/subtitle to match Player Stats / Player Customisation hero style. */

.polita-overview-progress-final-v29,
.polita-overview-progress-final-v28,
.polita-centered-progress-title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;

  font-size: clamp(38px, 4.1vw, 54px) !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  font-weight: 950 !important;
  color: #fff !important;

  margin-top: 82px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 14px !important;
  padding: 0 !important;
}

.polita-overview-progress-subtitle-final-v29,
.polita-overview-progress-subtitle-final-v28,
.polita-centered-progress-subtitle {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;

  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
  color: rgba(226, 234, 255, .78) !important;

  margin-top: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 34px !important;
  padding: 0 !important;
}

/* The stat cards below Overview should start at the same kind of distance as the other pages */
.polita-overview-progress-subtitle-final-v29 + *,
.polita-overview-progress-subtitle-final-v28 + *,
.polita-centered-progress-subtitle + * {
  margin-top: 0 !important;
}

/* Compact browser: keep same style but reduce top gap slightly */
@media (max-width: 950px) {
  .polita-overview-progress-final-v29,
  .polita-overview-progress-final-v28,
  .polita-centered-progress-title {
    font-size: clamp(34px, 6vw, 48px) !important;
    margin-top: 58px !important;
    margin-bottom: 12px !important;
  }

  .polita-overview-progress-subtitle-final-v29,
  .polita-overview-progress-subtitle-final-v28,
  .polita-centered-progress-subtitle {
    font-size: 15px !important;
    margin-bottom: 28px !important;
  }
}


/* POLITA BADGE RULES ADMIN POLISH V1 */
.polita-admin-rules-page {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.polita-admin-rules-hero {
  text-align: center !important;
  margin: 70px auto 30px !important;
}

.polita-admin-rules-hero h1 {
  font-size: clamp(38px, 4.1vw, 54px) !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 14px !important;
  color: #fff !important;
  font-weight: 950 !important;
}

.polita-admin-rules-hero p {
  margin: 0 auto !important;
  max-width: 720px !important;
  color: rgba(226,234,255,.78) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

.polita-admin-rules-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.polita-admin-rule-card {
  background:
    linear-gradient(135deg, rgba(76, 49, 145, .42), rgba(12, 67, 116, .54)) !important;
  border: 1px solid rgba(118, 142, 222, .28) !important;
  border-radius: 14px !important;
  padding: 22px !important;
  min-height: 150px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

.polita-admin-rule-card h2 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: 26px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
}

.polita-admin-rule-card p {
  margin: 0 0 14px !important;
  color: rgba(226,234,255,.72) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}

.polita-admin-rule-pill {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  border-radius: 999px !important;
  padding: 7px 11px !important;
  background: rgba(36,240,208,.10) !important;
  border: 1px solid rgba(36,240,208,.30) !important;
  color: #24f0d0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

@media (max-width: 900px) {
  .polita-admin-rules-grid {
    grid-template-columns: 1fr !important;
  }

  .polita-admin-rules-hero {
    margin-top: 48px !important;
  }
}


/* POLITA CLICKABLE BADGE RULES CARDS V2 */
.polita-admin-rule-card {
  cursor: pointer !important;
  transition:
    transform .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    background .16s ease !important;
}

.polita-admin-rule-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(36,240,208,.55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 22px rgba(36,240,208,.10) !important;
}

.polita-admin-rule-card:active {
  transform: translateY(0) !important;
}

.polita-admin-rule-card a {
  text-decoration: none !important;
}

.polita-admin-rule-card .polita-admin-rule-pill {
  pointer-events: none !important;
}

.polita-admin-rule-card[data-polita-href]::after {
  content: "Open" !important;
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  margin-top: 12px !important;
  border-radius: 999px !important;
  padding: 7px 11px !important;
  background: rgba(36,240,208,.10) !important;
  border: 1px solid rgba(36,240,208,.30) !important;
  color: #24f0d0 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}


/* POLITA BADGE RULE SLOT MANAGER V1 */
.polita-rule-slot-section {
  margin-top: 22px !important;
}

.polita-rule-slot-title {
  font-size: 34px !important;
  line-height: 1 !important;
  color: #fff !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.045em !important;
}

.polita-rule-slot-help {
  color: rgba(226,234,255,.72) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
}

.polita-rule-slot-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.polita-rule-slot {
  background: linear-gradient(135deg, rgba(76,49,145,.36), rgba(12,67,116,.52)) !important;
  border: 1px solid rgba(118,142,222,.28) !important;
  border-radius: 14px !important;
  padding: 16px !important;
}

.polita-rule-slot h3 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

.polita-rule-slot p {
  margin: 0 0 12px !important;
  color: rgba(226,234,255,.70) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}

.polita-rule-slot input {
  width: 100% !important;
  background: rgba(5,12,30,.60) !important;
  border: 1px solid rgba(118,142,222,.35) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  color: #fff !important;
  font-weight: 800 !important;
  margin-bottom: 8px !important;
}

.polita-rule-slot button {
  background: linear-gradient(135deg, #31f1e2, #25f0a8) !important;
  color: #04111c !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 9px 13px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
}

.polita-rule-slot-current {
  color: #24f0d0 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  margin-top: 8px !important;
}

@media (max-width: 900px) {
  .polita-rule-slot-grid {
    grid-template-columns: 1fr !important;
  }
}


/* POLITA SEPARATE BADGE RULE PAGES V1 */
.polita-rule-editor-page {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

.polita-rule-editor-hero {
  text-align: center !important;
  margin: 70px auto 30px !important;
}

.polita-rule-editor-hero h1 {
  font-size: clamp(38px, 4.1vw, 54px) !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 14px !important;
  color: #fff !important;
  font-weight: 950 !important;
}

.polita-rule-editor-hero p {
  margin: 0 auto !important;
  max-width: 760px !important;
  color: rgba(226,234,255,.78) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

.polita-rule-back {
  display: inline-flex !important;
  margin: 0 auto 18px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  color: #24f0d0 !important;
  background: rgba(36,240,208,.09) !important;
  border: 1px solid rgba(36,240,208,.25) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

.polita-rule-editor-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.polita-rule-editor-slot {
  background: linear-gradient(135deg, rgba(76,49,145,.36), rgba(12,67,116,.52)) !important;
  border: 1px solid rgba(118,142,222,.28) !important;
  border-radius: 14px !important;
  padding: 16px !important;
}

.polita-rule-editor-slot h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 23px !important;
  line-height: 1 !important;
  letter-spacing: -0.035em !important;
}

.polita-rule-editor-slot p {
  margin: 0 0 12px !important;
  color: rgba(226,234,255,.70) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

.polita-rule-editor-slot label {
  display: block !important;
  margin: 0 0 6px !important;
  color: #24f0d0 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

.polita-rule-editor-slot input {
  width: 100% !important;
  background: rgba(5,12,30,.60) !important;
  border: 1px solid rgba(118,142,222,.35) !important;
  border-radius: 10px !important;
  padding: 10px 12px !important;
  color: #fff !important;
  font-weight: 800 !important;
  margin-bottom: 10px !important;
}

.polita-rule-editor-save {
  background: linear-gradient(135deg, #31f1e2, #25f0a8) !important;
  color: #04111c !important;
  border: 0 !important;
  border-radius: 10px !important;
  padding: 9px 13px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
}

.polita-rule-editor-current {
  color: rgba(226,234,255,.72) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  margin-top: 10px !important;
}

.polita-rule-editor-current strong {
  color: #24f0d0 !important;
}

@media (max-width: 900px) {
  .polita-rule-editor-grid {
    grid-template-columns: 1fr !important;
  }

  .polita-rule-editor-hero {
    margin-top: 48px !important;
  }
}


/* POLITA ACHIEVEMENT BADGE RULES V2 */
.polita-achievement-note {
  margin: 0 auto 18px !important;
  max-width: 920px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(76,49,145,.30), rgba(12,67,116,.45)) !important;
  border: 1px solid rgba(118,142,222,.25) !important;
  color: rgba(226,234,255,.78) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}

.polita-achievement-note strong {
  color: #24f0d0 !important;
}

.polita-rule-editor-slot[data-achievement-kind="major"] {
  border-color: rgba(36,240,208,.35) !important;
}

.polita-rule-editor-slot[data-achievement-kind="special"] {
  background: linear-gradient(135deg, rgba(125,65,190,.42), rgba(13,76,130,.58)) !important;
  border-color: rgba(156,120,255,.42) !important;
}

.polita-achievement-progress-example {
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: rgba(5,12,30,.38) !important;
  border: 1px solid rgba(118,142,222,.22) !important;
  color: rgba(226,234,255,.72) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.polita-achievement-progress-example span {
  color: #24f0d0 !important;
  font-weight: 950 !important;
}






/* POLITA GUARANTEED BADGE RULE PAGES V5 */
.polita-rule-editor-grid,
.polita-rule-editor-slot {
  visibility: visible !important;
  opacity: 1 !important;
}

.polita-v5-rule-wrap {
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.polita-v5-rule-note {
  margin: 0 auto 14px !important;
  padding: 10px 13px !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(118,142,222,.20) !important;
  color: rgba(226,234,255,.72) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-align: center !important;
}

.polita-v5-rule-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.polita-v5-rule-card {
  background: linear-gradient(135deg, rgba(44,34,92,.46), rgba(10,58,100,.52)) !important;
  border: 1px solid rgba(118,142,222,.25) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  gap: 12px !important;
}

.polita-v5-preview {
  width: 52px !important;
  height: 52px !important;
  border-radius: 12px !important;
  background: rgba(5,12,30,.45) !important;
  border: 1px solid rgba(118,142,222,.25) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

.polita-v5-preview img {
  width: 42px !important;
  height: 42px !important;
  object-fit: contain !important;
}

.polita-v5-empty {
  color: rgba(226,234,255,.35) !important;
  font-size: 18px !important;
}

.polita-v5-content {
  min-width: 0 !important;
  display: grid !important;
  gap: 8px !important;
}

.polita-v5-title {
  margin: 0 !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -0.04em !important;
}

.polita-v5-desc {
  margin: 0 !important;
  color: rgba(226,234,255,.68) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
}

.polita-v5-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

.polita-v5-select {
  height: 38px !important;
  width: 100% !important;
  min-width: 0 !important;
  border-radius: 10px !important;
  background: rgba(5,12,30,.72) !important;
  border: 1px solid rgba(118,142,222,.34) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  padding: 0 10px !important;
}

.polita-v5-save {
  height: 38px !important;
  border-radius: 10px !important;
  border: 0 !important;
  padding: 0 13px !important;
  background: linear-gradient(135deg, #31f1e2, #25f0a8) !important;
  color: #04111c !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.polita-v5-save:disabled,
.polita-v5-select:disabled {
  opacity: .65 !important;
  cursor: not-allowed !important;
}

.polita-v5-status {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.polita-v5-chip {
  display: inline-flex !important;
  width: fit-content !important;
  border-radius: 999px !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  color: rgba(226,234,255,.72) !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(118,142,222,.18) !important;
}

.polita-v5-chip-active {
  color: #24f0d0 !important;
  background: rgba(36,240,208,.08) !important;
  border-color: rgba(36,240,208,.22) !important;
}

.polita-v5-progress {
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: rgba(5,12,30,.34) !important;
  border: 1px solid rgba(118,142,222,.18) !important;
  color: rgba(226,234,255,.70) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}

@media (max-width: 900px) {
  .polita-v5-rule-grid {
    grid-template-columns: 1fr !important;
  }

  .polita-v5-rule-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  .polita-v5-preview {
    width: 48px !important;
    height: 48px !important;
  }
}



/* POLITA REMOVE DUPLICATE BADGE RULE CARDS V7 */
.polita-unlock-stats-v1 {
  display: none !important;
}

.polita-rule-editor-page .polita-v5-rule-wrap.polita-v7-duplicate-remove,
.polita-rule-editor-page .polita-stable-rule-grid-v4.polita-v7-duplicate-remove,
.polita-rule-editor-page .polita-rule-editor-grid.polita-v7-duplicate-remove {
  display: none !important;
}



/* POLITA CHAT COSMETICS PAGE PROTECTION V4 */
.polita-extra-unlocked-badge-v1 {
  display: none !important;
}

[data-polita-broken-unlocked-tile="1"] {
  display: none !important;
}



/* POLITA PUBLIC SHELL CSS FALLBACK V2 */
body.polita-public-shell-ready > .polita-public-header,
body.polita-public-shell-ready > .polita-public-footer {
  display: flex !important;
}
