
/* ZWars public site unified polish - 2026 */
:root{
  --zw-green:#4dff88;
  --zw-red:#ff3d4e;
  --zw-blue:#45d6ff;
  --zw-line:rgba(255,255,255,.12);
  --zw-card:rgba(12,18,18,.78);
  --zw-card2:rgba(18,27,25,.86);
  --zw-muted:#aab6ad;
}

/* Shared clean page cards for partial pages */
.wrap .glass,
.wrap .card,
.wrap .account-card,
.wrap .zw-card,
.wrap .panel{
  border-color:var(--zw-line);
}

.wrap a[href],
.account-wrap a[href]{
  transition:background .15s ease,border-color .15s ease,transform .12s ease,filter .12s ease;
}

.wrap a[href]:hover,
.account-wrap a[href]:hover{
  filter:brightness(1.06);
}

/* Tiny online/offline status dot utility */
.zw-status-dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  margin-right:7px;
  vertical-align:-1px;
  background:#76817a;
  box-shadow:0 0 0 3px rgba(255,255,255,.05);
}
.zw-status-dot.online{
  background:#35f08c;
  box-shadow:0 0 0 3px rgba(53,240,140,.12),0 0 14px rgba(53,240,140,.8);
}
.zw-status-dot.offline{
  background:#ff4a59;
  box-shadow:0 0 0 3px rgba(255,74,89,.12),0 0 14px rgba(255,74,89,.45);
}
.zw-player-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:900;
}

/* Public nav/account consistency */
header.nav{
  position:sticky;
  top:0;
  z-index:60;
  backdrop-filter:blur(16px);
}
header.nav nav{
  align-items:center;
}
header.nav .zwars-auth-menu{
  margin-left:6px;
}

/* Make old partial pages feel less flat */
.wrap .hero-mini,
.wrap .page-hero,
.wrap .section-hero{
  border:1px solid rgba(77,255,136,.16);
  background:
    radial-gradient(circle at 12% 8%,rgba(77,255,136,.14),transparent 36%),
    radial-gradient(circle at 88% 0%,rgba(255,61,78,.10),transparent 32%),
    rgba(255,255,255,.035);
  box-shadow:0 22px 70px rgba(0,0,0,.30);
}

.zw-muted{color:var(--zw-muted)}
.zw-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  font-size:12px;
  font-weight:900;
}

/* Responsive safety */
@media(max-width:920px){
  header.nav{
    align-items:flex-start;
    gap:12px;
  }
  header.nav nav{
    width:100%;
    justify-content:flex-start;
  }
}
