
body{
  margin:0;
  background:#120022;
  color:#fff;
  font-family: Arial, Helvetica, sans-serif;
}

.wrap{
  min-height:100vh;
  position:relative;
  padding:60px 0 80px;
  box-sizing:border-box;
  background: radial-gradient(circle at 50% 10%, rgba(160,70,255,.22), transparent 40%),
              radial-gradient(circle at 30% 70%, rgba(120,40,255,.18), transparent 45%),
              #120022;
  border:10px solid #8d5bff;
}


.top{
  text-align:center;
  margin-top:10px;
}

.logo{
  width:220px;
  height:auto;
}


.search-area{
  text-align:center;
  margin:20px 0 10px;
}

.search{
  width:520px;
  max-width:85%;
  padding:12px 14px;
  font-size:18px;
  color:#eee;
  background:transparent;
  border:2px solid #8d5bff;
  outline:none;
}

.search:focus{
  box-shadow: 0 0 0 3px rgba(141,91,255,.25);
}


.grid{
  width:960px;
  max-width:92%;
  margin:20px auto 0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:28px 34px;
}

.card{
  background: rgba(0,0,0,.15);
  border:2px solid rgba(141,91,255,.25);
  padding:10px;
  cursor:pointer;
}

.card img{
  width:100%;
  height:120px;
  object-fit:cover;
  display:block;
}


.card.selected{
  border:2px solid #b28cff;
  box-shadow: 0 0 0 3px rgba(178,140,255,.25);
}


.pagination{
  width:960px;
  max-width:92%;
  margin:26px auto 0;
  text-align:center;
}

.page-btn{
  display:inline-block;
  margin:0 6px;
  padding:6px 12px;
  font-size:16px;
  background:transparent;
  color:#d8c8ff;
  border:2px solid #8d5bff;
  cursor:pointer;
}

.page-btn:hover{
  background: rgba(141,91,255,.25);
}

.page-btn.active{
  background:#8d5bff;
  color:#fff;
}


.download-area{
  text-align:center;
  margin:60px 0;
}

.download{
  padding:18px 70px;
  font-size:38px;
  background:#a06bff;
  color:#fff;
  border:0;
  cursor:pointer;
}

.download:hover{
  filter:brightness(1.05);
}

.hint{
  margin-top:12px;
  font-size:12px;
  color:#d8c8ff;
}


.bottom{
  position:absolute;
  left:0;
  right:0;
  bottom:10px;
  height:60px;
}

.support{
  text-align:center;
  font-size:12px;
  color:#eae2ff;
  margin-top:6px;
}

.support-img{
  height:18px;
  vertical-align:middle;
}

.nc-logo{
  position:absolute;
  right:18px;
  bottom:0;
}

.nc{
  width:48px;
  height:auto;
}
