diff --git a/.gitignore b/.gitignore
index e59017b..df22f1e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,6 @@
 .eslintcache
 
 pnpm-lock.yaml
+.lingma
+
+ZYTTodo
diff --git a/Dockerfile b/Dockerfile
index 52df866..4feedf9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,7 +4,7 @@
 COPY package*.json ./
 # 使用淘宝镜像源安装依赖
 RUN npm config set registry https://registry.npmmirror.com && \
-    npm install
+    npm install --legacy-peer-deps
 RUN npm install dva --legacy-peer-deps # 明确安装缺失的dva库
 COPY . .
 RUN npm run build
diff --git a/config/defaultSettings.ts b/config/defaultSettings.ts
index 2796a7e..97bac47 100644
--- a/config/defaultSettings.ts
+++ b/config/defaultSettings.ts
@@ -7,18 +7,19 @@
   pwa?: boolean;
   logo?: string;
 } = {
-  navTheme: 'light',
+  navTheme: 'realDark',
   // 拂晓蓝
-  colorPrimary: '#1890ff',
-  layout: 'mix',
+  colorPrimary: '#13C2C2',
+  layout: 'top',
   contentWidth: 'Fluid',
-  fixedHeader: false,
+  fixedHeader: true,
   fixSiderbar: true,
   colorWeak: false,
-  title: 'Ant Design Pro',
+  title: 'ThunderHub',
   pwa: true,
-  logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg',
+  logo: './logo.svg',
   iconfontUrl: '',
+  splitMenus: false,
   token: {
     // 参见ts声明，demo 见文档，通过token 修改样式
     //https://procomponents.ant.design/components/layout#%E9%80%9A%E8%BF%87-token-%E4%BF%AE%E6%94%B9%E6%A0%B7%E5%BC%8F
diff --git a/config/routes.ts b/config/routes.ts
index fa049b0..d380d7c 100644
--- a/config/routes.ts
+++ b/config/routes.ts
@@ -13,8 +13,15 @@
 export default [
   {
     path: '/',
-    redirect: '/account/center',
+    // redirect: '/home',
+    component: './Home/index.tsx',
   },
+  // {
+  //   name: 'home',
+  //   path: '/home',
+  //   layout: false,
+  //   component: './Home',
+  // },
   {
     path: '*',
     layout: false,
@@ -95,10 +102,12 @@
     icon: 'read',
     routes: [
       {
-        path: '/bounty/list',
+        name: '悬赏列表',
+        path: '/bounty',
         component: '@/pages/Bounty/List',
       },
       {
+        name: '悬赏详情',
         path: '/bounty/detail/:id',
         component: '@/pages/Bounty/Detail',
       },
@@ -120,7 +129,7 @@
   {
     name: '帖子中心',
     icon: 'read',
-    path: '/post/center',
+    path: '/postCenter',
     component: './PostCenter/index.tsx',
   },
   {
@@ -159,13 +168,19 @@
     component: './Torrent/torrentUpload.tsx',
     hideInMenu: true,
   },
-    {
+  {
+    name: '星球交流',
+    path: '/relation',
+    component: './Relation/index.tsx',
+  },
+
+  {
     name: '审核种子界面',
     path: '/torrent-audit-list',
     component: './Torrent/torrentAuditList.tsx',
     hideInMenu: true,
   },
-{
+  {
     name: '审核种子详情界面',
     path: '/torrent-audit/:id',
     component: './Torrent/torrentAudit.tsx',
diff --git a/public/images/1748962765837_567.jpg b/public/images/1748962765837_567.jpg
new file mode 100644
index 0000000..5cba9d9
--- /dev/null
+++ b/public/images/1748962765837_567.jpg
Binary files differ
diff --git a/public/images/planets/1.gif b/public/images/planets/1.gif
new file mode 100644
index 0000000..4dd7e5a
--- /dev/null
+++ b/public/images/planets/1.gif
Binary files differ
diff --git a/public/images/planets/2.gif b/public/images/planets/2.gif
new file mode 100644
index 0000000..7778438
--- /dev/null
+++ b/public/images/planets/2.gif
Binary files differ
diff --git a/public/images/planets/3.gif b/public/images/planets/3.gif
new file mode 100644
index 0000000..3f867d5
--- /dev/null
+++ b/public/images/planets/3.gif
Binary files differ
diff --git a/public/images/planets/4.gif b/public/images/planets/4.gif
new file mode 100644
index 0000000..cbedc42
--- /dev/null
+++ b/public/images/planets/4.gif
Binary files differ
diff --git a/public/images/planets/7.gif b/public/images/planets/7.gif
new file mode 100644
index 0000000..5b160f4
--- /dev/null
+++ b/public/images/planets/7.gif
Binary files differ
diff --git a/public/images/planets/8.gif b/public/images/planets/8.gif
new file mode 100644
index 0000000..598c863
--- /dev/null
+++ b/public/images/planets/8.gif
Binary files differ
diff --git a/public/images/planets/9.gif b/public/images/planets/9.gif
new file mode 100644
index 0000000..34bb676
--- /dev/null
+++ b/public/images/planets/9.gif
Binary files differ
diff --git a/public/logo.svg b/public/logo.svg
index 239bf69..c60f28f 100644
--- a/public/logo.svg
+++ b/public/logo.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" version="1.1" viewBox="0 0 200 200"><title>Group 28 Copy 5</title><desc>Created with Sketch.</desc><defs><linearGradient id="linearGradient-1" x1="62.102%" x2="108.197%" y1="0%" y2="37.864%"><stop offset="0%" stop-color="#4285EB"/><stop offset="100%" stop-color="#2EC7FF"/></linearGradient><linearGradient id="linearGradient-2" x1="69.644%" x2="54.043%" y1="0%" y2="108.457%"><stop offset="0%" stop-color="#29CDFF"/><stop offset="37.86%" stop-color="#148EFF"/><stop offset="100%" stop-color="#0A60FF"/></linearGradient><linearGradient id="linearGradient-3" x1="69.691%" x2="16.723%" y1="-12.974%" y2="117.391%"><stop offset="0%" stop-color="#FA816E"/><stop offset="41.473%" stop-color="#F74A5C"/><stop offset="100%" stop-color="#F51D2C"/></linearGradient><linearGradient id="linearGradient-4" x1="68.128%" x2="30.44%" y1="-35.691%" y2="114.943%"><stop offset="0%" stop-color="#FA8E7D"/><stop offset="51.264%" stop-color="#F74A5C"/><stop offset="100%" stop-color="#F51D2C"/></linearGradient></defs><g id="Page-1" fill="none" fill-rule="evenodd" stroke="none" stroke-width="1"><g id="logo" transform="translate(-20.000000, -20.000000)"><g id="Group-28-Copy-5" transform="translate(20.000000, 20.000000)"><g id="Group-27-Copy-3"><g id="Group-25" fill-rule="nonzero"><g id="2"><path id="Shape" fill="url(#linearGradient-1)" d="M91.5880863,4.17652823 L4.17996544,91.5127728 C-0.519240605,96.2081146 -0.519240605,103.791885 4.17996544,108.487227 L91.5880863,195.823472 C96.2872923,200.518814 103.877304,200.518814 108.57651,195.823472 L145.225487,159.204632 C149.433969,154.999611 149.433969,148.181924 145.225487,143.976903 C141.017005,139.771881 134.193707,139.771881 129.985225,143.976903 L102.20193,171.737352 C101.032305,172.906015 99.2571609,172.906015 98.0875359,171.737352 L28.285908,101.993122 C27.1162831,100.824459 27.1162831,99.050775 28.285908,97.8821118 L98.0875359,28.1378823 C99.2571609,26.9692191 101.032305,26.9692191 102.20193,28.1378823 L129.985225,55.8983314 C134.193707,60.1033528 141.017005,60.1033528 145.225487,55.8983314 C149.433969,51.69331 149.433969,44.8756232 145.225487,40.6706018 L108.58055,4.05574592 C103.862049,-0.537986846 96.2692618,-0.500797906 91.5880863,4.17652823 Z"/><path id="Shape" fill="url(#linearGradient-2)" d="M91.5880863,4.17652823 L4.17996544,91.5127728 C-0.519240605,96.2081146 -0.519240605,103.791885 4.17996544,108.487227 L91.5880863,195.823472 C96.2872923,200.518814 103.877304,200.518814 108.57651,195.823472 L145.225487,159.204632 C149.433969,154.999611 149.433969,148.181924 145.225487,143.976903 C141.017005,139.771881 134.193707,139.771881 129.985225,143.976903 L102.20193,171.737352 C101.032305,172.906015 99.2571609,172.906015 98.0875359,171.737352 L28.285908,101.993122 C27.1162831,100.824459 27.1162831,99.050775 28.285908,97.8821118 L98.0875359,28.1378823 C100.999864,25.6271836 105.751642,20.541824 112.729652,19.3524487 C117.915585,18.4685261 123.585219,20.4140239 129.738554,25.1889424 C125.624663,21.0784292 118.571995,14.0340304 108.58055,4.05574592 C103.862049,-0.537986846 96.2692618,-0.500797906 91.5880863,4.17652823 Z"/></g><path id="Shape" fill="url(#linearGradient-3)" d="M153.685633,135.854579 C157.894115,140.0596 164.717412,140.0596 168.925894,135.854579 L195.959977,108.842726 C200.659183,104.147384 200.659183,96.5636133 195.960527,91.8688194 L168.690777,64.7181159 C164.472332,60.5180858 157.646868,60.5241425 153.435895,64.7316526 C149.227413,68.936674 149.227413,75.7543607 153.435895,79.9593821 L171.854035,98.3623765 C173.02366,99.5310396 173.02366,101.304724 171.854035,102.473387 L153.685633,120.626849 C149.47715,124.83187 149.47715,131.649557 153.685633,135.854579 Z"/></g><ellipse id="Combined-Shape" cx="100.519" cy="100.437" fill="url(#linearGradient-4)" rx="23.6" ry="23.581"/></g></g></g></g></svg>
\ No newline at end of file
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1748346574545" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6118" id="mx_n_1748346574554" data-spm-anchor-id="a313x.search_index.0.i18.65803a81WmofeI" width="32" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M655.36 89.813333L216.533333 309.12c-52.053333 26.026667-63.36 95.573333-22.186666 136.746667L413.866667 665.173333c41.173333 41.173333 110.72 29.866667 136.746666-22.186666L769.92 204.16c36.693333-73.386667-41.173333-151.04-114.56-114.346667z" fill="#391085" p-id="6119" data-spm-anchor-id="a313x.search_index.0.i17.65803a81WmofeI" class="selected"></path><path d="M368.64 934.186667l438.826667-219.306667c52.053333-26.026667 63.36-95.573333 22.186666-136.746667L610.133333 358.826667c-41.173333-41.173333-110.72-29.866667-136.746666 22.186666L254.08 819.84c-36.693333 73.386667 41.173333 151.04 114.56 114.346667z" fill="#2f54eb" p-id="6120" data-spm-anchor-id="a313x.search_index.0.i16.65803a81WmofeI" class=""></path></svg>
diff --git a/public/pro_icon.svg b/public/pro_icon.svg
index e075b78..c60f28f 100644
--- a/public/pro_icon.svg
+++ b/public/pro_icon.svg
@@ -1,5 +1 @@
-<svg width="42" height="42" xmlns="http://www.w3.org/2000/svg">
- <g>
-  <path fill="#070707" d="m6.717392,13.773912l5.6,0c2.8,0 4.7,1.9 4.7,4.7c0,2.8 -2,4.7 -4.9,4.7l-2.5,0l0,4.3l-2.9,0l0,-13.7zm2.9,2.2l0,4.9l1.9,0c1.6,0 2.6,-0.9 2.6,-2.4c0,-1.6 -0.9,-2.4 -2.6,-2.4l-1.9,0l0,-0.1zm8.9,11.5l2.7,0l0,-5.7c0,-1.4 0.8,-2.3 2.2,-2.3c0.4,0 0.8,0.1 1,0.2l0,-2.4c-0.2,-0.1 -0.5,-0.1 -0.8,-0.1c-1.2,0 -2.1,0.7 -2.4,2l-0.1,0l0,-1.9l-2.7,0l0,10.2l0.1,0zm11.7,0.1c-3.1,0 -5,-2 -5,-5.3c0,-3.3 2,-5.3 5,-5.3s5,2 5,5.3c0,3.4 -1.9,5.3 -5,5.3zm0,-2.1c1.4,0 2.2,-1.1 2.2,-3.2c0,-2 -0.8,-3.2 -2.2,-3.2c-1.4,0 -2.2,1.2 -2.2,3.2c0,2.1 0.8,3.2 2.2,3.2z" class="st0" id="Ant-Design-Pro"/>
- </g>
-</svg>
\ No newline at end of file
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1748346574545" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6118" id="mx_n_1748346574554" data-spm-anchor-id="a313x.search_index.0.i18.65803a81WmofeI" width="32" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M655.36 89.813333L216.533333 309.12c-52.053333 26.026667-63.36 95.573333-22.186666 136.746667L413.866667 665.173333c41.173333 41.173333 110.72 29.866667 136.746666-22.186666L769.92 204.16c36.693333-73.386667-41.173333-151.04-114.56-114.346667z" fill="#391085" p-id="6119" data-spm-anchor-id="a313x.search_index.0.i17.65803a81WmofeI" class="selected"></path><path d="M368.64 934.186667l438.826667-219.306667c52.053333-26.026667 63.36-95.573333 22.186666-136.746667L610.133333 358.826667c-41.173333-41.173333-110.72-29.866667-136.746666 22.186666L254.08 819.84c-36.693333 73.386667 41.173333 151.04 114.56 114.346667z" fill="#2f54eb" p-id="6120" data-spm-anchor-id="a313x.search_index.0.i16.65803a81WmofeI" class=""></path></svg>
diff --git a/src/app.tsx b/src/app.tsx
index 38f76b4..c5a779f 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -61,7 +61,7 @@
 }
 
 // ProLayout 支持的api https://procomponents.ant.design/components/layout
-export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => {
+export const layout: ({initialState, setInitialState}: { initialState: any; setInitialState: any }) => any = ({ initialState, setInitialState }) => {
   return {
     actionsRender: () => [<Question key="doc" />, <SelectLang key="SelectLang" />],
     avatarProps: {
@@ -115,14 +115,6 @@
         width: '331px',
       },
     ],
-    links: isDev
-      ? [
-        <Link key="openapi" to="/umi/plugin/openapi" target="_blank">
-          <LinkOutlined />
-          <span>OpenAPI 文档</span>
-        </Link>,
-      ]
-      : [],
     menuHeaderRender: undefined,
     // 自定义 403 页面
     // unAccessible: <div>unAccessible</div>,
diff --git a/src/components/Footer/index.tsx b/src/components/Footer/index.tsx
index f204ac2..ce8fe07 100644
--- a/src/components/Footer/index.tsx
+++ b/src/components/Footer/index.tsx
@@ -8,26 +8,7 @@
       style={{
         background: 'none',
       }}
-      links={[
-        {
-          key: 'Ant Design Pro',
-          title: 'Ant Design Pro',
-          href: 'https://pro.ant.design',
-          blankTarget: true,
-        },
-        {
-          key: 'github',
-          title: <GithubOutlined />,
-          href: 'https://github.com/ant-design/ant-design-pro',
-          blankTarget: true,
-        },
-        {
-          key: 'Ant Design',
-          title: 'Ant Design',
-          href: 'https://ant.design',
-          blankTarget: true,
-        },
-      ]}
+      copyright={`${new Date().getFullYear()} ThunderHub JRX MSY ZYT HXQ LJB`}
     />
   );
 };
diff --git a/src/components/RightContent/index.tsx b/src/components/RightContent/index.tsx
index 20a7831..a6f40be 100644
--- a/src/components/RightContent/index.tsx
+++ b/src/components/RightContent/index.tsx
@@ -22,7 +22,7 @@
         height: 26,
       }}
       onClick={() => {
-        window.open('https://pro.ant.design/docs/getting-started');
+        window.open('https://kdocs.cn/l/cukLn6L241Ou');
       }}
     >
       <QuestionCircleOutlined />
diff --git a/src/global.less b/src/global.less
index a9a0c51..97fa011 100644
--- a/src/global.less
+++ b/src/global.less
@@ -16,6 +16,7 @@
 .ant-layout {
   min-height: 100vh;
 }
+
 .ant-pro-sider.ant-layout-sider.ant-pro-sider-fixed {
   left: unset;
 }
@@ -39,12 +40,15 @@
   .ant-table {
     width: 100%;
     overflow-x: auto;
-    &-thead > tr,
-    &-tbody > tr {
-      > th,
-      > td {
+
+    &-thead>tr,
+    &-tbody>tr {
+
+      >th,
+      >td {
         white-space: pre;
-        > span {
+
+        >span {
           display: block;
         }
       }
diff --git a/src/pages/Bounty/Detail.tsx b/src/pages/Bounty/Detail.tsx
index 41a25df..78743da 100644
--- a/src/pages/Bounty/Detail.tsx
+++ b/src/pages/Bounty/Detail.tsx
@@ -36,7 +36,7 @@
 
       if (res.code === 200) {
         message.success('采纳成功');
-        setBounty(prev => {
+        setBounty((prev: API.BountyDetail) => {
           console.log('【状态更新】', {
             old: prev.submissions,
             new: prev.submissions?.map(sub =>
@@ -49,7 +49,7 @@
             submissions: prev.submissions?.map(sub =>
               sub.id === submissionId ? { ...sub, status: 1 } : sub
             )
-          };
+          } as API.BountyDetail;
         });
       } else {
         message.error(`采纳失败: ${res.msg}`);
@@ -75,14 +75,14 @@
       }
 
       const blob = await downloadAttachment(attachmentPath);
-      const url = window.URL.createObjectURL(blob);
+      const url = (window as any).URL.createObjectURL(blob);
       const a = document.createElement('a');
       a.href = url;
       a.download = attachmentPath.split('/').pop() || 'file';
       document.body.appendChild(a);
       a.click();
       a.remove();
-      window.URL.revokeObjectURL(url);
+      (window as any).URL.revokeObjectURL(url);
     } catch (err) {
       message.error('下载附件失败，请重试');
       console.error('下载附件失败:', err);
@@ -104,7 +104,7 @@
         console.error('获取用户信息失败:', err);
       }
     };
-    fetchProfile();
+    fetchProfile().then(r => {});
   }, []);
 
 
@@ -134,7 +134,7 @@
       }
     };
 
-    loadBountyDetail();
+    loadBountyDetail().then(r => {});
   }, [id]);
 
   return (
diff --git a/src/pages/Home/css/stars-style.css b/src/pages/Home/css/stars-style.css
new file mode 100644
index 0000000..0f37c1f
--- /dev/null
+++ b/src/pages/Home/css/stars-style.css
@@ -0,0 +1,1559 @@
+.main {
+  display: flex;
+  z-index: 1;
+  position: relative;
+  opacity: 0.8;
+}
+
+.origin,
+.origin::before,
+.origin::after {
+  margin: 0;
+  border: 0;
+  padding: 0;
+  box-sizing: border-box;
+  z-index: 0;
+  top: 50%;
+  left: 50%;
+  -webkit-transform: translate3d(-50%, -50%, 0);
+  transform: translate3d(-50%, -50%, 0);
+  position: absolute;
+  width: 100%;
+  height: 100%;
+}
+
+.teee {
+  z-index: 2;
+  font-size: 50px;
+}
+
+html {
+  height: 100vh;
+  width: 100vw;
+}
+
+body,
+.galaxy {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+body {
+  background: #0e0220;
+  height: 100%;
+  width: 100%;
+  overflow-x: hidden;
+  -webkit-perspective: 100vmin;
+  perspective: 100vmin;
+}
+
+.origin,
+.control,
+.galaxy,
+.star {
+  position: absolute;
+  -webkit-transform-style: preserve-3d;
+  transform-style: preserve-3d;
+}
+
+.origin {
+  -webkit-transform: translate3d(0vw, 0vh, 0vmin);
+  transform: translate3d(0vw, 0vh, 0vmin);
+}
+
+.control {
+  -webkit-transform: scale3d(0, 0, 0);
+  transform: scale3d(0, 0, 0);
+  -webkit-animation: appear 10s linear forwards;
+  animation: appear 10s linear forwards;
+}
+
+.galaxy {
+  -webkit-animation: rotation 10s linear infinite;
+  animation: rotation 10s linear infinite;
+}
+
+.star,
+.star::before,
+.star::after {
+  position: absolute;
+  -webkit-transform-style: preserve-3d;
+  transform-style: preserve-3d;
+}
+
+.star::before,
+.star::after {
+  background: var(--background);
+  border-radius: 50%;
+  box-shadow: var(--shadow);
+  content: '';
+  height: var(--size);
+  width: var(--size);
+}
+
+.star::before {
+  -webkit-transform: var(--transform);
+  transform: var(--transform);
+}
+
+.star::after {
+  -webkit-transform: scale3d(-1, -1, -1) var(--transform);
+  transform: scale3d(-1, -1, -1) var(--transform);
+}
+
+.star:nth-of-type(1) {
+  --size: 0.2835921021vmin;
+  --background: #642674;
+  --shadow: 0 0 0.1750153474vmin 0.0363164749vmin #642674;
+  --transform: rotate3d(1, 0, 0, 328deg) rotate3d(0, 1, 0, 135deg) rotate3d(0, 0, 1, 96deg) translate3d(0, 0, 82.541015291vmin);
+}
+
+.star:nth-of-type(2) {
+  --size: 0.7413082831vmin;
+  --background: #fff299;
+  --shadow: 0 0 0.6505248375vmin 0.3246593503vmin #fff4ad;
+  --transform: rotate3d(1, 0, 0, 172deg) rotate3d(0, 1, 0, 111deg) rotate3d(0, 0, 1, 130deg) translate3d(0, 0, 87.5727103039vmin);
+}
+
+.star:nth-of-type(3) {
+  --size: 0.4260554564vmin;
+  --background: #8380f5;
+  --shadow: 0 0 0.5861517082vmin 0.2004683041vmin #8380f5;
+  --transform: rotate3d(1, 0, 0, 250deg) rotate3d(0, 1, 0, 310deg) rotate3d(0, 0, 1, 317deg) translate3d(0, 0, 78.8602777857vmin);
+}
+
+.star:nth-of-type(4) {
+  --size: 0.7103443369vmin;
+  --background: #f2eda3;
+  --shadow: 0 0 0.7010757604vmin 0.2007248801vmin #f2eda3;
+  --transform: rotate3d(1, 0, 0, 69deg) rotate3d(0, 1, 0, 100deg) rotate3d(0, 0, 1, 83deg) translate3d(0, 0, 87.0936338506vmin);
+}
+
+.star:nth-of-type(5) {
+  --size: 0.663428383vmin;
+  --background: #722b83;
+  --shadow: 0 0 0.80461304vmin 0.2224569914vmin #722b83;
+  --transform: rotate3d(1, 0, 0, 5deg) rotate3d(0, 1, 0, 265deg) rotate3d(0, 0, 1, 118deg) translate3d(0, 0, 88.4998499479vmin);
+}
+
+.star:nth-of-type(6) {
+  --size: 0.7176506352vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.3877486259vmin 0.3321995916vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 91deg) rotate3d(0, 1, 0, 309deg) rotate3d(0, 0, 1, 358deg) translate3d(0, 0, 89.2378760161vmin);
+}
+
+.star:nth-of-type(7) {
+  --size: 0.310865557vmin;
+  --background: #642674;
+  --shadow: 0 0 0.3792362228vmin 0.0753154867vmin #642674;
+  --transform: rotate3d(1, 0, 0, 315deg) rotate3d(0, 1, 0, 109deg) rotate3d(0, 0, 1, 267deg) translate3d(0, 0, 86.8954812814vmin);
+}
+
+.star:nth-of-type(8) {
+  --size: 0.7206382278vmin;
+  --background: #5a2268;
+  --shadow: 0 0 0.4802848584vmin 0.3214256666vmin #682878;
+  --transform: rotate3d(1, 0, 0, 331deg) rotate3d(0, 1, 0, 113deg) rotate3d(0, 0, 1, 309deg) translate3d(0, 0, 71.2468353149vmin);
+}
+
+.star:nth-of-type(9) {
+  --size: 0.424013172vmin;
+  --background: #6b297c;
+  --shadow: 0 0 0.4529582791vmin 0.0383392416vmin #6b297c;
+  --transform: rotate3d(1, 0, 0, 223deg) rotate3d(0, 1, 0, 352deg) rotate3d(0, 0, 1, 277deg) translate3d(0, 0, 79.1411897476vmin);
+}
+
+.star:nth-of-type(10) {
+  --size: 0.7107513334vmin;
+  --background: #ff5880;
+  --shadow: 0 0 0.9962013414vmin 0.1962571025vmin #ff5880;
+  --transform: rotate3d(1, 0, 0, 101deg) rotate3d(0, 1, 0, 107deg) rotate3d(0, 0, 1, 16deg) translate3d(0, 0, 70.1759644933vmin);
+}
+
+.star:nth-of-type(11) {
+  --size: 0.5707603905vmin;
+  --background: #6b297c;
+  --shadow: 0 0 0.3749602159vmin 0.200128313vmin #6b297c;
+  --transform: rotate3d(1, 0, 0, 243deg) rotate3d(0, 1, 0, 77deg) rotate3d(0, 0, 1, 193deg) translate3d(0, 0, 71.7100001416vmin);
+}
+
+.star:nth-of-type(12) {
+  --size: 0.5798447244vmin;
+  --background: #6c69f3;
+  --shadow: 0 0 0.5713127208vmin 0.1327069878vmin #7e7bf5;
+  --transform: rotate3d(1, 0, 0, 205deg) rotate3d(0, 1, 0, 54deg) rotate3d(0, 0, 1, 42deg) translate3d(0, 0, 80.4488561184vmin);
+}
+
+.star:nth-of-type(13) {
+  --size: 0.677564678vmin;
+  --background: #8df48e;
+  --shadow: 0 0 0.3432892544vmin 0.1001157273vmin #bbf8bc;
+  --transform: rotate3d(1, 0, 0, 120deg) rotate3d(0, 1, 0, 110deg) rotate3d(0, 0, 1, 201deg) translate3d(0, 0, 82.7612765812vmin);
+}
+
+.star:nth-of-type(14) {
+  --size: 0.4961091404vmin;
+  --background: #13a9e9;
+  --shadow: 0 0 0.4328784371vmin 0.2340385488vmin #2cb4ee;
+  --transform: rotate3d(1, 0, 0, 357deg) rotate3d(0, 1, 0, 143deg) rotate3d(0, 0, 1, 266deg) translate3d(0, 0, 78.8844240801vmin);
+}
+
+.star:nth-of-type(15) {
+  --size: 0.4095470191vmin;
+  --background: #12a2e0;
+  --shadow: 0 0 0.5125966447vmin 0.0001667585vmin #36b7ef;
+  --transform: rotate3d(1, 0, 0, 359deg) rotate3d(0, 1, 0, 298deg) rotate3d(0, 0, 1, 311deg) translate3d(0, 0, 76.3303084405vmin);
+}
+
+.star:nth-of-type(16) {
+  --size: 0.7408991482vmin;
+  --background: #ea1b90;
+  --shadow: 0 0 0.5636452941vmin 0.3366402359vmin #ea1b90;
+  --transform: rotate3d(1, 0, 0, 54deg) rotate3d(0, 1, 0, 19deg) rotate3d(0, 0, 1, 167deg) translate3d(0, 0, 70.4007677602vmin);
+}
+
+.star:nth-of-type(17) {
+  --size: 0.5275932186vmin;
+  --background: #dd1486;
+  --shadow: 0 0 0.3797963007vmin 0.1531168848vmin #eb2495;
+  --transform: rotate3d(1, 0, 0, 178deg) rotate3d(0, 1, 0, 222deg) rotate3d(0, 0, 1, 277deg) translate3d(0, 0, 72.288528018vmin);
+}
+
+.star:nth-of-type(18) {
+  --size: 0.5093118435vmin;
+  --background: #ea1b90;
+  --shadow: 0 0 0.3970329884vmin 0.0773944724vmin #ea1b90;
+  --transform: rotate3d(1, 0, 0, 268deg) rotate3d(0, 1, 0, 327deg) rotate3d(0, 0, 1, 46deg) translate3d(0, 0, 76.8482204992vmin);
+}
+
+.star:nth-of-type(19) {
+  --size: 0.6952201696vmin;
+  --background: #f4efb0;
+  --shadow: 0 0 0.5488628261vmin 0.0060727272vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 51deg) rotate3d(0, 1, 0, 92deg) rotate3d(0, 0, 1, 131deg) translate3d(0, 0, 76.3199369121vmin);
+}
+
+.star:nth-of-type(20) {
+  --size: 0.6499208005vmin;
+  --background: #f46f6f;
+  --shadow: 0 0 0.8953697874vmin 0.0508831665vmin #f89f9f;
+  --transform: rotate3d(1, 0, 0, 247deg) rotate3d(0, 1, 0, 336deg) rotate3d(0, 0, 1, 52deg) translate3d(0, 0, 75.7195953194vmin);
+}
+
+.star:nth-of-type(21) {
+  --size: 0.4313161361vmin;
+  --background: #ff76ad;
+  --shadow: 0 0 0.3734112201vmin 0.0457078964vmin #ff80b3;
+  --transform: rotate3d(1, 0, 0, 102deg) rotate3d(0, 1, 0, 353deg) rotate3d(0, 0, 1, 150deg) translate3d(0, 0, 84.5243263407vmin);
+}
+
+.star:nth-of-type(22) {
+  --size: 0.3240513094vmin;
+  --background: #8885f5;
+  --shadow: 0 0 0.4107185309vmin 0.1598999491vmin #8885f5;
+  --transform: rotate3d(1, 0, 0, 4deg) rotate3d(0, 1, 0, 56deg) rotate3d(0, 0, 1, 19deg) translate3d(0, 0, 68.252893429vmin);
+}
+
+.star:nth-of-type(23) {
+  --size: 0.6749804977vmin;
+  --background: #ff5880;
+  --shadow: 0 0 0.4141135488vmin 0.1769542018vmin #ff5880;
+  --transform: rotate3d(1, 0, 0, 358deg) rotate3d(0, 1, 0, 231deg) rotate3d(0, 0, 1, 134deg) translate3d(0, 0, 67.9039057691vmin);
+}
+
+.star:nth-of-type(24) {
+  --size: 0.6867114982vmin;
+  --background: #f3efac;
+  --shadow: 0 0 0.6317027386vmin 0.1537394151vmin #f3efac;
+  --transform: rotate3d(1, 0, 0, 14deg) rotate3d(0, 1, 0, 237deg) rotate3d(0, 0, 1, 354deg) translate3d(0, 0, 68.1685987935vmin);
+}
+
+.star:nth-of-type(25) {
+  --size: 0.2975356259vmin;
+  --background: #8df48e;
+  --shadow: 0 0 0.4398389524vmin 0.1469801421vmin #bbf8bc;
+  --transform: rotate3d(1, 0, 0, 359deg) rotate3d(0, 1, 0, 97deg) rotate3d(0, 0, 1, 147deg) translate3d(0, 0, 72.8612817003vmin);
+}
+
+.star:nth-of-type(26) {
+  --size: 0.2837776299vmin;
+  --background: #f68c8c;
+  --shadow: 0 0 0.3889918047vmin 0.0249919736vmin #f68c8c;
+  --transform: rotate3d(1, 0, 0, 5deg) rotate3d(0, 1, 0, 61deg) rotate3d(0, 0, 1, 110deg) translate3d(0, 0, 87.1599145942vmin);
+}
+
+.star:nth-of-type(27) {
+  --size: 0.5670151251vmin;
+  --background: #6b297c;
+  --shadow: 0 0 0.6020377769vmin 0.150933111vmin #6b297c;
+  --transform: rotate3d(1, 0, 0, 234deg) rotate3d(0, 1, 0, 215deg) rotate3d(0, 0, 1, 198deg) translate3d(0, 0, 71.7383274494vmin);
+}
+
+.star:nth-of-type(28) {
+  --size: 0.4194113403vmin;
+  --background: #ff8fbc;
+  --shadow: 0 0 0.38499725vmin 0.0846148475vmin #ff8fbc;
+  --transform: rotate3d(1, 0, 0, 84deg) rotate3d(0, 1, 0, 61deg) rotate3d(0, 0, 1, 313deg) translate3d(0, 0, 80.6542144621vmin);
+}
+
+.star:nth-of-type(29) {
+  --size: 0.605556292vmin;
+  --background: #fbfcfd;
+  --shadow: 0 0 0.8654118937vmin 0.1521606756vmin #fbfcfd;
+  --transform: rotate3d(1, 0, 0, 136deg) rotate3d(0, 1, 0, 191deg) rotate3d(0, 0, 1, 329deg) translate3d(0, 0, 81.3092544414vmin);
+}
+
+.star:nth-of-type(30) {
+  --size: 0.4811772514vmin;
+  --background: #b2f7b3;
+  --shadow: 0 0 0.3313041848vmin 0.1300370323vmin #b2f7b3;
+  --transform: rotate3d(1, 0, 0, 16deg) rotate3d(0, 1, 0, 104deg) rotate3d(0, 0, 1, 62deg) translate3d(0, 0, 73.868380679vmin);
+}
+
+.star:nth-of-type(31) {
+  --size: 0.4767887783vmin;
+  --background: #f1f4f7;
+  --shadow: 0 0 0.5256370696vmin 0.193330741vmin #f1f4f7;
+  --transform: rotate3d(1, 0, 0, 308deg) rotate3d(0, 1, 0, 56deg) rotate3d(0, 0, 1, 249deg) translate3d(0, 0, 75.3259937348vmin);
+}
+
+.star:nth-of-type(32) {
+  --size: 0.3488615182vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.1783888201vmin 0.0877796286vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 22deg) rotate3d(0, 1, 0, 56deg) rotate3d(0, 0, 1, 120deg) translate3d(0, 0, 87.9945198278vmin);
+}
+
+.star:nth-of-type(33) {
+  --size: 0.6272794925vmin;
+  --background: #7e7bf5;
+  --shadow: 0 0 0.4018138602vmin 0.0036085878vmin #7e7bf5;
+  --transform: rotate3d(1, 0, 0, 72deg) rotate3d(0, 1, 0, 4deg) rotate3d(0, 0, 1, 108deg) translate3d(0, 0, 74.9429716204vmin);
+}
+
+.star:nth-of-type(34) {
+  --size: 0.5980763449vmin;
+  --background: #f68c8c;
+  --shadow: 0 0 0.609028633vmin 0.0206698956vmin #f68c8c;
+  --transform: rotate3d(1, 0, 0, 43deg) rotate3d(0, 1, 0, 294deg) rotate3d(0, 0, 1, 120deg) translate3d(0, 0, 76.1165457048vmin);
+}
+
+.star:nth-of-type(35) {
+  --size: 0.6185383144vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.372974437vmin 0.1348613878vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 184deg) rotate3d(0, 1, 0, 2deg) rotate3d(0, 0, 1, 25deg) translate3d(0, 0, 67.3368436297vmin);
+}
+
+.star:nth-of-type(36) {
+  --size: 0.4141415773vmin;
+  --background: #ff8fbc;
+  --shadow: 0 0 0.5083147474vmin 0.0947692398vmin #ff8fbc;
+  --transform: rotate3d(1, 0, 0, 200deg) rotate3d(0, 1, 0, 4deg) rotate3d(0, 0, 1, 111deg) translate3d(0, 0, 80.5099805988vmin);
+}
+
+.star:nth-of-type(37) {
+  --size: 0.464004449vmin;
+  --background: #31b6ef;
+  --shadow: 0 0 0.4434728559vmin 0.0845349624vmin #31b6ef;
+  --transform: rotate3d(1, 0, 0, 331deg) rotate3d(0, 1, 0, 5deg) rotate3d(0, 0, 1, 207deg) translate3d(0, 0, 73.7570183556vmin);
+}
+
+.star:nth-of-type(38) {
+  --size: 0.4698868978vmin;
+  --background: #e8edf1;
+  --shadow: 0 0 0.3505111485vmin 0.0437121938vmin #f4f7f9;
+  --transform: rotate3d(1, 0, 0, 121deg) rotate3d(0, 1, 0, 85deg) rotate3d(0, 0, 1, 48deg) translate3d(0, 0, 73.9383472235vmin);
+}
+
+.star:nth-of-type(39) {
+  --size: 0.5291774426vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.6760046753vmin 0.2242731162vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 99deg) rotate3d(0, 1, 0, 353deg) rotate3d(0, 0, 1, 352deg) translate3d(0, 0, 77.1554461862vmin);
+}
+
+.star:nth-of-type(40) {
+  --size: 0.397408839vmin;
+  --background: #eb2495;
+  --shadow: 0 0 0.4577027818vmin 0.1326726142vmin #eb2495;
+  --transform: rotate3d(1, 0, 0, 283deg) rotate3d(0, 1, 0, 238deg) rotate3d(0, 0, 1, 22deg) translate3d(0, 0, 85.7114320814vmin);
+}
+
+.star:nth-of-type(41) {
+  --size: 0.603770632vmin;
+  --background: #9ff6a0;
+  --shadow: 0 0 0.7902997107vmin 0.0263510083vmin #a9f6aa;
+  --transform: rotate3d(1, 0, 0, 107deg) rotate3d(0, 1, 0, 341deg) rotate3d(0, 0, 1, 119deg) translate3d(0, 0, 83.7631686076vmin);
+}
+
+.star:nth-of-type(42) {
+  --size: 0.465232013vmin;
+  --background: #5e246c;
+  --shadow: 0 0 0.5225434805vmin 0.1472809201vmin #642674;
+  --transform: rotate3d(1, 0, 0, 41deg) rotate3d(0, 1, 0, 7deg) rotate3d(0, 0, 1, 92deg) translate3d(0, 0, 84.8182932106vmin);
+}
+
+.star:nth-of-type(43) {
+  --size: 0.6262782247vmin;
+  --background: #eb1f93;
+  --shadow: 0 0 0.3668392443vmin 0.0923044749vmin #eb1f93;
+  --transform: rotate3d(1, 0, 0, 256deg) rotate3d(0, 1, 0, 72deg) rotate3d(0, 0, 1, 278deg) translate3d(0, 0, 84.8646247391vmin);
+}
+
+.star:nth-of-type(44) {
+  --size: 0.6596081053vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.430519321vmin 0.138734676vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 162deg) rotate3d(0, 1, 0, 315deg) rotate3d(0, 0, 1, 3deg) translate3d(0, 0, 67.4594641047vmin);
+}
+
+.star:nth-of-type(45) {
+  --size: 0.2847169677vmin;
+  --background: #ec2d99;
+  --shadow: 0 0 0.3148592915vmin 0.0475358208vmin #ec2d99;
+  --transform: rotate3d(1, 0, 0, 203deg) rotate3d(0, 1, 0, 335deg) rotate3d(0, 0, 1, 53deg) translate3d(0, 0, 80.8401831944vmin);
+}
+
+.star:nth-of-type(46) {
+  --size: 0.5982546971vmin;
+  --background: #fff4ad;
+  --shadow: 0 0 0.3740264621vmin 0.0220836309vmin #fff4ad;
+  --transform: rotate3d(1, 0, 0, 287deg) rotate3d(0, 1, 0, 195deg) rotate3d(0, 0, 1, 316deg) translate3d(0, 0, 84.3902592852vmin);
+}
+
+.star:nth-of-type(47) {
+  --size: 0.3460276847vmin;
+  --background: #fff29e;
+  --shadow: 0 0 0.2354502895vmin 0.0467396953vmin #fff4a8;
+  --transform: rotate3d(1, 0, 0, 260deg) rotate3d(0, 1, 0, 288deg) rotate3d(0, 0, 1, 287deg) translate3d(0, 0, 76.8940861586vmin);
+}
+
+.star:nth-of-type(48) {
+  --size: 0.5596928991vmin;
+  --background: #f0ea96;
+  --shadow: 0 0 0.7607250341vmin 0.2489202044vmin #f2ec9e;
+  --transform: rotate3d(1, 0, 0, 143deg) rotate3d(0, 1, 0, 68deg) rotate3d(0, 0, 1, 299deg) translate3d(0, 0, 68.7212870368vmin);
+}
+
+.star:nth-of-type(49) {
+  --size: 0.2606228013vmin;
+  --background: #5a2268;
+  --shadow: 0 0 0.2000348246vmin 0.0770928869vmin #682878;
+  --transform: rotate3d(1, 0, 0, 161deg) rotate3d(0, 1, 0, 308deg) rotate3d(0, 0, 1, 60deg) translate3d(0, 0, 79.1863949655vmin);
+}
+
+.star:nth-of-type(50) {
+  --size: 0.6080022812vmin;
+  --background: #fff29e;
+  --shadow: 0 0 0.8312878476vmin 0.2685253509vmin #fff4a8;
+  --transform: rotate3d(1, 0, 0, 349deg) rotate3d(0, 1, 0, 256deg) rotate3d(0, 0, 1, 161deg) translate3d(0, 0, 69.0454961211vmin);
+}
+
+.star:nth-of-type(51) {
+  --size: 0.6308082519vmin;
+  --background: #f9b890;
+  --shadow: 0 0 0.5806088691vmin 0.0975256905vmin #f9b890;
+  --transform: rotate3d(1, 0, 0, 150deg) rotate3d(0, 1, 0, 203deg) rotate3d(0, 0, 1, 172deg) translate3d(0, 0, 65.0219072235vmin);
+}
+
+.star:nth-of-type(52) {
+  --size: 0.6358630529vmin;
+  --background: #f0ea96;
+  --shadow: 0 0 0.8041647058vmin 0.2733630044vmin #f2ec9e;
+  --transform: rotate3d(1, 0, 0, 247deg) rotate3d(0, 1, 0, 47deg) rotate3d(0, 0, 1, 129deg) translate3d(0, 0, 76.8858560927vmin);
+}
+
+.star:nth-of-type(53) {
+  --size: 0.258578505vmin;
+  --background: #5e246c;
+  --shadow: 0 0 0.2370299913vmin 0.0514659196vmin #642674;
+  --transform: rotate3d(1, 0, 0, 166deg) rotate3d(0, 1, 0, 91deg) rotate3d(0, 0, 1, 54deg) translate3d(0, 0, 65.0763202274vmin);
+}
+
+.star:nth-of-type(54) {
+  --size: 0.6863312693vmin;
+  --background: #a9f6aa;
+  --shadow: 0 0 0.5525499989vmin 0.1330258874vmin #a9f6aa;
+  --transform: rotate3d(1, 0, 0, 311deg) rotate3d(0, 1, 0, 151deg) rotate3d(0, 0, 1, 62deg) translate3d(0, 0, 68.5381740092vmin);
+}
+
+.star:nth-of-type(55) {
+  --size: 0.3153180967vmin;
+  --background: #36b7ef;
+  --shadow: 0 0 0.4088170459vmin 0.0815502545vmin #36b7ef;
+  --transform: rotate3d(1, 0, 0, 96deg) rotate3d(0, 1, 0, 44deg) rotate3d(0, 0, 1, 96deg) translate3d(0, 0, 67.3711748168vmin);
+}
+
+.star:nth-of-type(56) {
+  --size: 0.2738237241vmin;
+  --background: #a9f6aa;
+  --shadow: 0 0 0.3410957316vmin 0.1091095537vmin #a9f6aa;
+  --transform: rotate3d(1, 0, 0, 19deg) rotate3d(0, 1, 0, 199deg) rotate3d(0, 0, 1, 232deg) translate3d(0, 0, 68.6130981123vmin);
+}
+
+.star:nth-of-type(57) {
+  --size: 0.7279799305vmin;
+  --background: #f4f7f9;
+  --shadow: 0 0 0.8106203033vmin 0.2982988197vmin #f4f7f9;
+  --transform: rotate3d(1, 0, 0, 266deg) rotate3d(0, 1, 0, 190deg) rotate3d(0, 0, 1, 336deg) translate3d(0, 0, 72.2311430666vmin);
+}
+
+.star:nth-of-type(58) {
+  --size: 0.4755597648vmin;
+  --background: #d81383;
+  --shadow: 0 0 0.7104403245vmin 0.1956941268vmin #ec2997;
+  --transform: rotate3d(1, 0, 0, 184deg) rotate3d(0, 1, 0, 2deg) rotate3d(0, 0, 1, 349deg) translate3d(0, 0, 72.6784743962vmin);
+}
+
+.star:nth-of-type(59) {
+  --size: 0.4782404758vmin;
+  --background: #e4ebef;
+  --shadow: 0 0 0.4281260562vmin 0.2170947923vmin #f8f9fb;
+  --transform: rotate3d(1, 0, 0, 49deg) rotate3d(0, 1, 0, 327deg) rotate3d(0, 0, 1, 175deg) translate3d(0, 0, 89.2713807917vmin);
+}
+
+.star:nth-of-type(60) {
+  --size: 0.2964480316vmin;
+  --background: #f3efac;
+  --shadow: 0 0 0.2536986779vmin 0.0131278677vmin #f3efac;
+  --transform: rotate3d(1, 0, 0, 8deg) rotate3d(0, 1, 0, 36deg) rotate3d(0, 0, 1, 187deg) translate3d(0, 0, 87.2897718006vmin);
+}
+
+.star:nth-of-type(61) {
+  --size: 0.4950567207vmin;
+  --background: #722b83;
+  --shadow: 0 0 0.5751843893vmin 0.0637395051vmin #722b83;
+  --transform: rotate3d(1, 0, 0, 124deg) rotate3d(0, 1, 0, 229deg) rotate3d(0, 0, 1, 293deg) translate3d(0, 0, 86.8516811606vmin);
+}
+
+.star:nth-of-type(62) {
+  --size: 0.6968564634vmin;
+  --background: #6764f3;
+  --shadow: 0 0 0.5822409922vmin 0.3057737592vmin #8380f5;
+  --transform: rotate3d(1, 0, 0, 158deg) rotate3d(0, 1, 0, 93deg) rotate3d(0, 0, 1, 312deg) translate3d(0, 0, 87.4192006408vmin);
+}
+
+.star:nth-of-type(63) {
+  --size: 0.6210690798vmin;
+  --background: #f68282;
+  --shadow: 0 0 0.3311509731vmin 0.0602709837vmin #f68c8c;
+  --transform: rotate3d(1, 0, 0, 137deg) rotate3d(0, 1, 0, 255deg) rotate3d(0, 0, 1, 313deg) translate3d(0, 0, 81.4470528151vmin);
+}
+
+.star:nth-of-type(64) {
+  --size: 0.4810203113vmin;
+  --background: #ff76ad;
+  --shadow: 0 0 0.3101639264vmin 0.0580835808vmin #ff80b3;
+  --transform: rotate3d(1, 0, 0, 104deg) rotate3d(0, 1, 0, 254deg) rotate3d(0, 0, 1, 275deg) translate3d(0, 0, 80.6208890189vmin);
+}
+
+.star:nth-of-type(65) {
+  --size: 0.435821928vmin;
+  --background: #96f597;
+  --shadow: 0 0 0.468401592vmin 0.0249656019vmin #b2f7b3;
+  --transform: rotate3d(1, 0, 0, 152deg) rotate3d(0, 1, 0, 227deg) rotate3d(0, 0, 1, 79deg) translate3d(0, 0, 77.1249749052vmin);
+}
+
+.star:nth-of-type(66) {
+  --size: 0.4772019721vmin;
+  --background: #f79a60;
+  --shadow: 0 0 0.3841178942vmin 0.1531861374vmin #f9b890;
+  --transform: rotate3d(1, 0, 0, 18deg) rotate3d(0, 1, 0, 177deg) rotate3d(0, 0, 1, 235deg) translate3d(0, 0, 76.3255865521vmin);
+}
+
+.star:nth-of-type(67) {
+  --size: 0.5674481297vmin;
+  --background: #e4ebef;
+  --shadow: 0 0 0.6485218032vmin 0.0711831777vmin #f8f9fb;
+  --transform: rotate3d(1, 0, 0, 69deg) rotate3d(0, 1, 0, 258deg) rotate3d(0, 0, 1, 48deg) translate3d(0, 0, 72.9836878012vmin);
+}
+
+.star:nth-of-type(68) {
+  --size: 0.585418409vmin;
+  --background: #dd1486;
+  --shadow: 0 0 0.3032211738vmin 0.2523558281vmin #eb2495;
+  --transform: rotate3d(1, 0, 0, 337deg) rotate3d(0, 1, 0, 158deg) rotate3d(0, 0, 1, 289deg) translate3d(0, 0, 89.7667201697vmin);
+}
+
+.star:nth-of-type(69) {
+  --size: 0.3053087982vmin;
+  --background: #d31380;
+  --shadow: 0 0 0.2221057874vmin 0.0399455253vmin #ec2d99;
+  --transform: rotate3d(1, 0, 0, 205deg) rotate3d(0, 1, 0, 132deg) rotate3d(0, 0, 1, 135deg) translate3d(0, 0, 74.7457940313vmin);
+}
+
+.star:nth-of-type(70) {
+  --size: 0.6152716804vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.3651403257vmin 0.1986129325vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 235deg) rotate3d(0, 1, 0, 27deg) rotate3d(0, 0, 1, 155deg) translate3d(0, 0, 82.3198147262vmin);
+}
+
+.star:nth-of-type(71) {
+  --size: 0.5015899655vmin;
+  --background: #2cb4ee;
+  --shadow: 0 0 0.6017289468vmin 0.0338592473vmin #2cb4ee;
+  --transform: rotate3d(1, 0, 0, 273deg) rotate3d(0, 1, 0, 319deg) rotate3d(0, 0, 1, 121deg) translate3d(0, 0, 72.3247893456vmin);
+}
+
+.star:nth-of-type(72) {
+  --size: 0.4009822025vmin;
+  --background: #ff2f61;
+  --shadow: 0 0 0.2155965687vmin 0.0789391544vmin #ff4d79;
+  --transform: rotate3d(1, 0, 0, 200deg) rotate3d(0, 1, 0, 29deg) rotate3d(0, 0, 1, 84deg) translate3d(0, 0, 85.7204676868vmin);
+}
+
+.star:nth-of-type(73) {
+  --size: 0.5038002035vmin;
+  --background: #f3eea7;
+  --shadow: 0 0 0.7387975469vmin 0.1209493195vmin #f3eea7;
+  --transform: rotate3d(1, 0, 0, 160deg) rotate3d(0, 1, 0, 312deg) rotate3d(0, 0, 1, 39deg) translate3d(0, 0, 78.8984973433vmin);
+}
+
+.star:nth-of-type(74) {
+  --size: 0.322391987vmin;
+  --background: #e8edf1;
+  --shadow: 0 0 0.4598287061vmin 0.1241924899vmin #f4f7f9;
+  --transform: rotate3d(1, 0, 0, 66deg) rotate3d(0, 1, 0, 285deg) rotate3d(0, 0, 1, 250deg) translate3d(0, 0, 89.8868276497vmin);
+}
+
+.star:nth-of-type(75) {
+  --size: 0.2512510291vmin;
+  --background: #dee6ec;
+  --shadow: 0 0 0.3374825744vmin 0.0065538666vmin #fefefe;
+  --transform: rotate3d(1, 0, 0, 24deg) rotate3d(0, 1, 0, 346deg) rotate3d(0, 0, 1, 279deg) translate3d(0, 0, 79.2529969213vmin);
+}
+
+.star:nth-of-type(76) {
+  --size: 0.2538529777vmin;
+  --background: #5e246c;
+  --shadow: 0 0 0.2941019659vmin 0.0525700956vmin #642674;
+  --transform: rotate3d(1, 0, 0, 256deg) rotate3d(0, 1, 0, 80deg) rotate3d(0, 0, 1, 191deg) translate3d(0, 0, 82.0983557664vmin);
+}
+
+.star:nth-of-type(77) {
+  --size: 0.4401636887vmin;
+  --background: #572164;
+  --shadow: 0 0 0.6214934661vmin 0.2027200199vmin #6b297c;
+  --transform: rotate3d(1, 0, 0, 245deg) rotate3d(0, 1, 0, 311deg) rotate3d(0, 0, 1, 85deg) translate3d(0, 0, 76.2748953279vmin);
+}
+
+.star:nth-of-type(78) {
+  --size: 0.518904717vmin;
+  --background: #fff29e;
+  --shadow: 0 0 0.7635731955vmin 0.0958331743vmin #fff4a8;
+  --transform: rotate3d(1, 0, 0, 103deg) rotate3d(0, 1, 0, 171deg) rotate3d(0, 0, 1, 148deg) translate3d(0, 0, 68.4438322402vmin);
+}
+
+.star:nth-of-type(79) {
+  --size: 0.6571576132vmin;
+  --background: #642674;
+  --shadow: 0 0 0.7163674872vmin 0.2550026937vmin #642674;
+  --transform: rotate3d(1, 0, 0, 349deg) rotate3d(0, 1, 0, 13deg) rotate3d(0, 0, 1, 188deg) translate3d(0, 0, 80.7101695645vmin);
+}
+
+.star:nth-of-type(80) {
+  --size: 0.527861166vmin;
+  --background: #f57474;
+  --shadow: 0 0 0.4641840544vmin 0.0019271159vmin #f79a9a;
+  --transform: rotate3d(1, 0, 0, 81deg) rotate3d(0, 1, 0, 347deg) rotate3d(0, 0, 1, 125deg) translate3d(0, 0, 69.9854691664vmin);
+}
+
+.star:nth-of-type(81) {
+  --size: 0.7173110142vmin;
+  --background: #27b2ee;
+  --shadow: 0 0 0.4299060309vmin 0.2651480234vmin #27b2ee;
+  --transform: rotate3d(1, 0, 0, 297deg) rotate3d(0, 1, 0, 287deg) rotate3d(0, 0, 1, 27deg) translate3d(0, 0, 69.2479403783vmin);
+}
+
+.star:nth-of-type(82) {
+  --size: 0.729641019vmin;
+  --background: #ff76ad;
+  --shadow: 0 0 0.7755311561vmin 0.3102907183vmin #ff80b3;
+  --transform: rotate3d(1, 0, 0, 66deg) rotate3d(0, 1, 0, 32deg) rotate3d(0, 0, 1, 309deg) translate3d(0, 0, 74.4171467908vmin);
+}
+
+.star:nth-of-type(83) {
+  --size: 0.6525212588vmin;
+  --background: #f9af82;
+  --shadow: 0 0 0.5857216508vmin 0.0064787689vmin #f9af82;
+  --transform: rotate3d(1, 0, 0, 35deg) rotate3d(0, 1, 0, 322deg) rotate3d(0, 0, 1, 164deg) translate3d(0, 0, 67.132298363vmin);
+}
+
+.star:nth-of-type(84) {
+  --size: 0.3155100426vmin;
+  --background: #f57979;
+  --shadow: 0 0 0.3391797496vmin 0.0729239021vmin #f79595;
+  --transform: rotate3d(1, 0, 0, 192deg) rotate3d(0, 1, 0, 33deg) rotate3d(0, 0, 1, 226deg) translate3d(0, 0, 81.3797678575vmin);
+}
+
+.star:nth-of-type(85) {
+  --size: 0.337645331vmin;
+  --background: #12a5e4;
+  --shadow: 0 0 0.481304554vmin 0.0687161072vmin #31b6ef;
+  --transform: rotate3d(1, 0, 0, 14deg) rotate3d(0, 1, 0, 48deg) rotate3d(0, 0, 1, 41deg) translate3d(0, 0, 77.156485312vmin);
+}
+
+.star:nth-of-type(86) {
+  --size: 0.6591728104vmin;
+  --background: #f79a60;
+  --shadow: 0 0 0.944985924vmin 0.3027452093vmin #f9b890;
+  --transform: rotate3d(1, 0, 0, 78deg) rotate3d(0, 1, 0, 59deg) rotate3d(0, 0, 1, 254deg) translate3d(0, 0, 84.0423938812vmin);
+}
+
+.star:nth-of-type(87) {
+  --size: 0.2838914956vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.2032195853vmin 0.0068446371vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 138deg) rotate3d(0, 1, 0, 180deg) rotate3d(0, 0, 1, 7deg) translate3d(0, 0, 68.7697028525vmin);
+}
+
+.star:nth-of-type(88) {
+  --size: 0.5331993832vmin;
+  --background: #ebf0f3;
+  --shadow: 0 0 0.7035757107vmin 0.1601349632vmin #f1f4f7;
+  --transform: rotate3d(1, 0, 0, 356deg) rotate3d(0, 1, 0, 253deg) rotate3d(0, 0, 1, 315deg) translate3d(0, 0, 67.7761955vmin);
+}
+
+.star:nth-of-type(89) {
+  --size: 0.5435894432vmin;
+  --background: #fff6bd;
+  --shadow: 0 0 0.797721057vmin 0.213365253vmin #fff6bd;
+  --transform: rotate3d(1, 0, 0, 159deg) rotate3d(0, 1, 0, 48deg) rotate3d(0, 0, 1, 107deg) translate3d(0, 0, 71.8611434079vmin);
+}
+
+.star:nth-of-type(90) {
+  --size: 0.2789100344vmin;
+  --background: #f46f6f;
+  --shadow: 0 0 0.3196135292vmin 0.0629046625vmin #f89f9f;
+  --transform: rotate3d(1, 0, 0, 149deg) rotate3d(0, 1, 0, 215deg) rotate3d(0, 0, 1, 234deg) translate3d(0, 0, 85.0801536462vmin);
+}
+
+.star:nth-of-type(91) {
+  --size: 0.3208128218vmin;
+  --background: #5e5af2;
+  --shadow: 0 0 0.444897282vmin 0.0958317592vmin #8c8af6;
+  --transform: rotate3d(1, 0, 0, 306deg) rotate3d(0, 1, 0, 87deg) rotate3d(0, 0, 1, 346deg) translate3d(0, 0, 76.6158065208vmin);
+}
+
+.star:nth-of-type(92) {
+  --size: 0.5287948322vmin;
+  --background: #13a9e9;
+  --shadow: 0 0 0.6200606463vmin 0.1107448479vmin #2cb4ee;
+  --transform: rotate3d(1, 0, 0, 4deg) rotate3d(0, 1, 0, 226deg) rotate3d(0, 0, 1, 6deg) translate3d(0, 0, 85.7103105316vmin);
+}
+
+.star:nth-of-type(93) {
+  --size: 0.6240498363vmin;
+  --background: #ff62a1;
+  --shadow: 0 0 0.877182383vmin 0.1847424951vmin #ff95bf;
+  --transform: rotate3d(1, 0, 0, 85deg) rotate3d(0, 1, 0, 309deg) rotate3d(0, 0, 1, 302deg) translate3d(0, 0, 78.9467807389vmin);
+}
+
+.star:nth-of-type(94) {
+  --size: 0.3449673134vmin;
+  --background: #12a2e0;
+  --shadow: 0 0 0.4181607496vmin 0.0780889337vmin #36b7ef;
+  --transform: rotate3d(1, 0, 0, 37deg) rotate3d(0, 1, 0, 301deg) rotate3d(0, 0, 1, 210deg) translate3d(0, 0, 70.8693232848vmin);
+}
+
+.star:nth-of-type(95) {
+  --size: 0.5863003882vmin;
+  --background: #f8a673;
+  --shadow: 0 0 0.3869423657vmin 0.1025911294vmin #f8ac7d;
+  --transform: rotate3d(1, 0, 0, 132deg) rotate3d(0, 1, 0, 286deg) rotate3d(0, 0, 1, 209deg) translate3d(0, 0, 72.353871498vmin);
+}
+
+.star:nth-of-type(96) {
+  --size: 0.6403999408vmin;
+  --background: #ff4371;
+  --shadow: 0 0 0.6877842584vmin 0.0173299144vmin #ff4371;
+  --transform: rotate3d(1, 0, 0, 242deg) rotate3d(0, 1, 0, 225deg) rotate3d(0, 0, 1, 227deg) translate3d(0, 0, 73.515910063vmin);
+}
+
+.star:nth-of-type(97) {
+  --size: 0.5883792388vmin;
+  --background: #f57474;
+  --shadow: 0 0 0.6251725549vmin 0.1251215149vmin #f79a9a;
+  --transform: rotate3d(1, 0, 0, 274deg) rotate3d(0, 1, 0, 271deg) rotate3d(0, 0, 1, 319deg) translate3d(0, 0, 65.4953932949vmin);
+}
+
+.star:nth-of-type(98) {
+  --size: 0.527169823vmin;
+  --background: #f68c8c;
+  --shadow: 0 0 0.5463073281vmin 0.2013524859vmin #f68c8c;
+  --transform: rotate3d(1, 0, 0, 54deg) rotate3d(0, 1, 0, 62deg) rotate3d(0, 0, 1, 152deg) translate3d(0, 0, 76.4204388415vmin);
+}
+
+.star:nth-of-type(99) {
+  --size: 0.6709008508vmin;
+  --background: #15acec;
+  --shadow: 0 0 0.8218730194vmin 0.3257682601vmin #27b2ee;
+  --transform: rotate3d(1, 0, 0, 231deg) rotate3d(0, 1, 0, 128deg) rotate3d(0, 0, 1, 25deg) translate3d(0, 0, 71.6958122785vmin);
+}
+
+.star:nth-of-type(100) {
+  --size: 0.4355329406vmin;
+  --background: #fff4ad;
+  --shadow: 0 0 0.4270818287vmin 0.0163815659vmin #fff4ad;
+  --transform: rotate3d(1, 0, 0, 129deg) rotate3d(0, 1, 0, 273deg) rotate3d(0, 0, 1, 151deg) translate3d(0, 0, 66.1473023161vmin);
+}
+
+.star:nth-of-type(101) {
+  --size: 0.2940582937vmin;
+  --background: #adf7ae;
+  --shadow: 0 0 0.2260812858vmin 0.0243094359vmin #adf7ae;
+  --transform: rotate3d(1, 0, 0, 313deg) rotate3d(0, 1, 0, 337deg) rotate3d(0, 0, 1, 161deg) translate3d(0, 0, 70.8306546106vmin);
+}
+
+.star:nth-of-type(102) {
+  --size: 0.4953900379vmin;
+  --background: #eee784;
+  --shadow: 0 0 0.5806451874vmin 0.0280731498vmin #f4efb0;
+  --transform: rotate3d(1, 0, 0, 276deg) rotate3d(0, 1, 0, 109deg) rotate3d(0, 0, 1, 251deg) translate3d(0, 0, 73.9826890658vmin);
+}
+
+.star:nth-of-type(103) {
+  --size: 0.4308572682vmin;
+  --background: #f4f7f9;
+  --shadow: 0 0 0.353513609vmin 0.1499099892vmin #f4f7f9;
+  --transform: rotate3d(1, 0, 0, 53deg) rotate3d(0, 1, 0, 28deg) rotate3d(0, 0, 1, 76deg) translate3d(0, 0, 89.9276409805vmin);
+}
+
+.star:nth-of-type(104) {
+  --size: 0.6597958518vmin;
+  --background: #8885f5;
+  --shadow: 0 0 0.3697899365vmin 0.1384415528vmin #8885f5;
+  --transform: rotate3d(1, 0, 0, 68deg) rotate3d(0, 1, 0, 344deg) rotate3d(0, 0, 1, 8deg) translate3d(0, 0, 74.0653185255vmin);
+}
+
+.star:nth-of-type(105) {
+  --size: 0.254098056vmin;
+  --background: #ff527c;
+  --shadow: 0 0 0.2519240355vmin 0.0289149294vmin #ff527c;
+  --transform: rotate3d(1, 0, 0, 41deg) rotate3d(0, 1, 0, 212deg) rotate3d(0, 0, 1, 209deg) translate3d(0, 0, 66.6094367403vmin);
+}
+
+.star:nth-of-type(106) {
+  --size: 0.3669637825vmin;
+  --background: #f9b287;
+  --shadow: 0 0 0.2020342216vmin 0.1779763842vmin #f9b287;
+  --transform: rotate3d(1, 0, 0, 317deg) rotate3d(0, 1, 0, 15deg) rotate3d(0, 0, 1, 267deg) translate3d(0, 0, 80.2599507986vmin);
+}
+
+.star:nth-of-type(107) {
+  --size: 0.5898631722vmin;
+  --background: #fefefe;
+  --shadow: 0 0 0.4955423649vmin 0.0223589171vmin #fefefe;
+  --transform: rotate3d(1, 0, 0, 145deg) rotate3d(0, 1, 0, 57deg) rotate3d(0, 0, 1, 12deg) translate3d(0, 0, 77.1965130529vmin);
+}
+
+.star:nth-of-type(108) {
+  --size: 0.7025897231vmin;
+  --background: #13a9e9;
+  --shadow: 0 0 0.4337269959vmin 0.0472701756vmin #2cb4ee;
+  --transform: rotate3d(1, 0, 0, 76deg) rotate3d(0, 1, 0, 249deg) rotate3d(0, 0, 1, 334deg) translate3d(0, 0, 80.4569507699vmin);
+}
+
+.star:nth-of-type(109) {
+  --size: 0.260756449vmin;
+  --background: #f3eea7;
+  --shadow: 0 0 0.3223361721vmin 0.0151438967vmin #f3eea7;
+  --transform: rotate3d(1, 0, 0, 54deg) rotate3d(0, 1, 0, 352deg) rotate3d(0, 0, 1, 113deg) translate3d(0, 0, 87.2873788712vmin);
+}
+
+.star:nth-of-type(110) {
+  --size: 0.7179712623vmin;
+  --background: #fff4ad;
+  --shadow: 0 0 0.455730349vmin 0.0963612853vmin #fff4ad;
+  --transform: rotate3d(1, 0, 0, 74deg) rotate3d(0, 1, 0, 31deg) rotate3d(0, 0, 1, 123deg) translate3d(0, 0, 83.9342739536vmin);
+}
+
+.star:nth-of-type(111) {
+  --size: 0.3115510805vmin;
+  --background: #f46f6f;
+  --shadow: 0 0 0.3454354873vmin 0.0793295504vmin #f89f9f;
+  --transform: rotate3d(1, 0, 0, 304deg) rotate3d(0, 1, 0, 260deg) rotate3d(0, 0, 1, 103deg) translate3d(0, 0, 83.2970364208vmin);
+}
+
+.star:nth-of-type(112) {
+  --size: 0.7473909203vmin;
+  --background: #ff527c;
+  --shadow: 0 0 0.5700500951vmin 0.116077314vmin #ff527c;
+  --transform: rotate3d(1, 0, 0, 5deg) rotate3d(0, 1, 0, 284deg) rotate3d(0, 0, 1, 139deg) translate3d(0, 0, 73.3505393163vmin);
+}
+
+.star:nth-of-type(113) {
+  --size: 0.3705991177vmin;
+  --background: #f57e7e;
+  --shadow: 0 0 0.4839364426vmin 0.1767047991vmin #f79090;
+  --transform: rotate3d(1, 0, 0, 277deg) rotate3d(0, 1, 0, 116deg) rotate3d(0, 0, 1, 118deg) translate3d(0, 0, 75.4818095549vmin);
+}
+
+.star:nth-of-type(114) {
+  --size: 0.7131004635vmin;
+  --background: #ff95bf;
+  --shadow: 0 0 0.9510799354vmin 0.2683257357vmin #ff95bf;
+  --transform: rotate3d(1, 0, 0, 16deg) rotate3d(0, 1, 0, 97deg) rotate3d(0, 0, 1, 36deg) translate3d(0, 0, 79.2575289586vmin);
+}
+
+.star:nth-of-type(115) {
+  --size: 0.5295627565vmin;
+  --background: #f79a9a;
+  --shadow: 0 0 0.5396122146vmin 0.2088795218vmin #f79a9a;
+  --transform: rotate3d(1, 0, 0, 175deg) rotate3d(0, 1, 0, 238deg) rotate3d(0, 0, 1, 288deg) translate3d(0, 0, 70.3148778459vmin);
+}
+
+.star:nth-of-type(116) {
+  --size: 0.4153815638vmin;
+  --background: #91f493;
+  --shadow: 0 0 0.2560773567vmin 0.1965614034vmin #b7f8b7;
+  --transform: rotate3d(1, 0, 0, 232deg) rotate3d(0, 1, 0, 206deg) rotate3d(0, 0, 1, 235deg) translate3d(0, 0, 74.7422074615vmin);
+}
+
+.star:nth-of-type(117) {
+  --size: 0.4791157284vmin;
+  --background: #91f493;
+  --shadow: 0 0 0.3852375713vmin 0.1176745846vmin #b7f8b7;
+  --transform: rotate3d(1, 0, 0, 164deg) rotate3d(0, 1, 0, 336deg) rotate3d(0, 0, 1, 102deg) translate3d(0, 0, 67.9896207696vmin);
+}
+
+.star:nth-of-type(118) {
+  --size: 0.7119006784vmin;
+  --background: #8885f5;
+  --shadow: 0 0 0.3706367049vmin 0.098332394vmin #8885f5;
+  --transform: rotate3d(1, 0, 0, 273deg) rotate3d(0, 1, 0, 252deg) rotate3d(0, 0, 1, 341deg) translate3d(0, 0, 85.102128726vmin);
+}
+
+.star:nth-of-type(119) {
+  --size: 0.5845456519vmin;
+  --background: #6c69f3;
+  --shadow: 0 0 0.6961585165vmin 0.149800332vmin #7e7bf5;
+  --transform: rotate3d(1, 0, 0, 30deg) rotate3d(0, 1, 0, 196deg) rotate3d(0, 0, 1, 281deg) translate3d(0, 0, 78.35818313vmin);
+}
+
+.star:nth-of-type(120) {
+  --size: 0.2688657636vmin;
+  --background: #ec2d99;
+  --shadow: 0 0 0.2055246649vmin 0.105154111vmin #ec2d99;
+  --transform: rotate3d(1, 0, 0, 359deg) rotate3d(0, 1, 0, 10deg) rotate3d(0, 0, 1, 29deg) translate3d(0, 0, 89.8185433622vmin);
+}
+
+.star:nth-of-type(121) {
+  --size: 0.565860969vmin;
+  --background: #fff194;
+  --shadow: 0 0 0.4436652178vmin 0.0831826793vmin #fff5b2;
+  --transform: rotate3d(1, 0, 0, 233deg) rotate3d(0, 1, 0, 113deg) rotate3d(0, 0, 1, 195deg) translate3d(0, 0, 70.5762534108vmin);
+}
+
+.star:nth-of-type(122) {
+  --size: 0.5673606571vmin;
+  --background: #ff76ad;
+  --shadow: 0 0 0.4956630698vmin 0.0265084444vmin #ff80b3;
+  --transform: rotate3d(1, 0, 0, 171deg) rotate3d(0, 1, 0, 187deg) rotate3d(0, 0, 1, 78deg) translate3d(0, 0, 67.783783694vmin);
+}
+
+.star:nth-of-type(123) {
+  --size: 0.7398141211vmin;
+  --background: #f79090;
+  --shadow: 0 0 0.9168583733vmin 0.0747021462vmin #f79090;
+  --transform: rotate3d(1, 0, 0, 288deg) rotate3d(0, 1, 0, 149deg) rotate3d(0, 0, 1, 39deg) translate3d(0, 0, 71.5470741354vmin);
+}
+
+.star:nth-of-type(124) {
+  --size: 0.3774916559vmin;
+  --background: #7e7bf5;
+  --shadow: 0 0 0.4400679479vmin 0.0378531291vmin #7e7bf5;
+  --transform: rotate3d(1, 0, 0, 134deg) rotate3d(0, 1, 0, 268deg) rotate3d(0, 0, 1, 139deg) translate3d(0, 0, 65.1021286579vmin);
+}
+
+.star:nth-of-type(125) {
+  --size: 0.5468544464vmin;
+  --background: #501f5d;
+  --shadow: 0 0 0.7658094809vmin 0.1216904121vmin #722b83;
+  --transform: rotate3d(1, 0, 0, 3deg) rotate3d(0, 1, 0, 199deg) rotate3d(0, 0, 1, 273deg) translate3d(0, 0, 87.9945196094vmin);
+}
+
+.star:nth-of-type(126) {
+  --size: 0.5021421204vmin;
+  --background: #ff5880;
+  --shadow: 0 0 0.6534292444vmin 0.0336267882vmin #ff5880;
+  --transform: rotate3d(1, 0, 0, 89deg) rotate3d(0, 1, 0, 195deg) rotate3d(0, 0, 1, 64deg) translate3d(0, 0, 82.4534850577vmin);
+}
+
+.star:nth-of-type(127) {
+  --size: 0.3719012552vmin;
+  --background: #f8a673;
+  --shadow: 0 0 0.2432399339vmin 0.068105469vmin #f8ac7d;
+  --transform: rotate3d(1, 0, 0, 247deg) rotate3d(0, 1, 0, 76deg) rotate3d(0, 0, 1, 1deg) translate3d(0, 0, 79.4403734538vmin);
+}
+
+.star:nth-of-type(128) {
+  --size: 0.5475683773vmin;
+  --background: #f79a60;
+  --shadow: 0 0 0.6487286718vmin 0.0225486439vmin #f9b890;
+  --transform: rotate3d(1, 0, 0, 258deg) rotate3d(0, 1, 0, 92deg) rotate3d(0, 0, 1, 265deg) translate3d(0, 0, 66.3305514768vmin);
+}
+
+.star:nth-of-type(129) {
+  --size: 0.3951916921vmin;
+  --background: #23b1ed;
+  --shadow: 0 0 0.4443155453vmin 0.0512405247vmin #23b1ed;
+  --transform: rotate3d(1, 0, 0, 290deg) rotate3d(0, 1, 0, 109deg) rotate3d(0, 0, 1, 2deg) translate3d(0, 0, 84.8567570636vmin);
+}
+
+.star:nth-of-type(130) {
+  --size: 0.48237135vmin;
+  --background: #fff299;
+  --shadow: 0 0 0.5412749126vmin 0.1311959008vmin #fff4ad;
+  --transform: rotate3d(1, 0, 0, 276deg) rotate3d(0, 1, 0, 38deg) rotate3d(0, 0, 1, 16deg) translate3d(0, 0, 66.9595625075vmin);
+}
+
+.star:nth-of-type(131) {
+  --size: 0.7119473959vmin;
+  --background: #bbf8bc;
+  --shadow: 0 0 0.8920436985vmin 0.0030703935vmin #bbf8bc;
+  --transform: rotate3d(1, 0, 0, 211deg) rotate3d(0, 1, 0, 218deg) rotate3d(0, 0, 1, 193deg) translate3d(0, 0, 65.5385478374vmin);
+}
+
+.star:nth-of-type(132) {
+  --size: 0.3202633873vmin;
+  --background: #f57474;
+  --shadow: 0 0 0.2694503853vmin 0.0487318274vmin #f79a9a;
+  --transform: rotate3d(1, 0, 0, 254deg) rotate3d(0, 1, 0, 100deg) rotate3d(0, 0, 1, 185deg) translate3d(0, 0, 83.0729836386vmin);
+}
+
+.star:nth-of-type(133) {
+  --size: 0.3693512308vmin;
+  --background: #ff8fbc;
+  --shadow: 0 0 0.3424377512vmin 0.1367813444vmin #ff8fbc;
+  --transform: rotate3d(1, 0, 0, 307deg) rotate3d(0, 1, 0, 81deg) rotate3d(0, 0, 1, 140deg) translate3d(0, 0, 65.3529131171vmin);
+}
+
+.star:nth-of-type(134) {
+  --size: 0.5674485667vmin;
+  --background: #6b297c;
+  --shadow: 0 0 0.5944878812vmin 0.1474451957vmin #6b297c;
+  --transform: rotate3d(1, 0, 0, 156deg) rotate3d(0, 1, 0, 353deg) rotate3d(0, 0, 1, 192deg) translate3d(0, 0, 77.1282702157vmin);
+}
+
+.star:nth-of-type(135) {
+  --size: 0.4252676639vmin;
+  --background: #fefefe;
+  --shadow: 0 0 0.6265593126vmin 0.0892728194vmin #fefefe;
+  --transform: rotate3d(1, 0, 0, 181deg) rotate3d(0, 1, 0, 14deg) rotate3d(0, 0, 1, 154deg) translate3d(0, 0, 68.6388693294vmin);
+}
+
+.star:nth-of-type(136) {
+  --size: 0.3937178438vmin;
+  --background: #9bf59c;
+  --shadow: 0 0 0.2135286606vmin 0.1912116271vmin #adf7ae;
+  --transform: rotate3d(1, 0, 0, 186deg) rotate3d(0, 1, 0, 13deg) rotate3d(0, 0, 1, 217deg) translate3d(0, 0, 68.0044759771vmin);
+}
+
+.star:nth-of-type(137) {
+  --size: 0.5393671691vmin;
+  --background: #f7a36e;
+  --shadow: 0 0 0.6261441979vmin 0.1069635426vmin #f9af82;
+  --transform: rotate3d(1, 0, 0, 8deg) rotate3d(0, 1, 0, 36deg) rotate3d(0, 0, 1, 105deg) translate3d(0, 0, 74.0180205218vmin);
+}
+
+.star:nth-of-type(138) {
+  --size: 0.7013405457vmin;
+  --background: #f8a673;
+  --shadow: 0 0 0.8007306891vmin 0.0216215527vmin #f8ac7d;
+  --transform: rotate3d(1, 0, 0, 62deg) rotate3d(0, 1, 0, 307deg) rotate3d(0, 0, 1, 86deg) translate3d(0, 0, 87.5142917006vmin);
+}
+
+.star:nth-of-type(139) {
+  --size: 0.440666097vmin;
+  --background: #572164;
+  --shadow: 0 0 0.2429337798vmin 0.0755378402vmin #6b297c;
+  --transform: rotate3d(1, 0, 0, 244deg) rotate3d(0, 1, 0, 111deg) rotate3d(0, 0, 1, 54deg) translate3d(0, 0, 76.5048763626vmin);
+}
+
+.star:nth-of-type(140) {
+  --size: 0.5083180472vmin;
+  --background: #f9b287;
+  --shadow: 0 0 0.6392046079vmin 0.2261197001vmin #f9b287;
+  --transform: rotate3d(1, 0, 0, 95deg) rotate3d(0, 1, 0, 207deg) rotate3d(0, 0, 1, 223deg) translate3d(0, 0, 78.4308620961vmin);
+}
+
+.star:nth-of-type(141) {
+  --size: 0.5745439119vmin;
+  --background: #f8ac7d;
+  --shadow: 0 0 0.5477029053vmin 0.0824357941vmin #f8ac7d;
+  --transform: rotate3d(1, 0, 0, 357deg) rotate3d(0, 1, 0, 65deg) rotate3d(0, 0, 1, 335deg) translate3d(0, 0, 71.5790550648vmin);
+}
+
+.star:nth-of-type(142) {
+  --size: 0.5819131075vmin;
+  --background: #6c69f3;
+  --shadow: 0 0 0.5865833062vmin 0.1163282549vmin #7e7bf5;
+  --transform: rotate3d(1, 0, 0, 282deg) rotate3d(0, 1, 0, 7deg) rotate3d(0, 0, 1, 213deg) translate3d(0, 0, 69.9660126623vmin);
+}
+
+.star:nth-of-type(143) {
+  --size: 0.4493367881vmin;
+  --background: #f8ac7d;
+  --shadow: 0 0 0.5997309208vmin 0.0153997267vmin #f8ac7d;
+  --transform: rotate3d(1, 0, 0, 113deg) rotate3d(0, 1, 0, 129deg) rotate3d(0, 0, 1, 280deg) translate3d(0, 0, 84.900686543vmin);
+}
+
+.star:nth-of-type(144) {
+  --size: 0.5186654989vmin;
+  --background: #eb2495;
+  --shadow: 0 0 0.7117792794vmin 0.0910421857vmin #eb2495;
+  --transform: rotate3d(1, 0, 0, 118deg) rotate3d(0, 1, 0, 72deg) rotate3d(0, 0, 1, 238deg) translate3d(0, 0, 69.3100938892vmin);
+}
+
+.star:nth-of-type(145) {
+  --size: 0.2846511632vmin;
+  --background: #ea1b90;
+  --shadow: 0 0 0.3078698597vmin 0.0690684863vmin #ea1b90;
+  --transform: rotate3d(1, 0, 0, 97deg) rotate3d(0, 1, 0, 105deg) rotate3d(0, 0, 1, 246deg) translate3d(0, 0, 67.113061351vmin);
+}
+
+.star:nth-of-type(146) {
+  --size: 0.745448097vmin;
+  --background: #ff2a5e;
+  --shadow: 0 0 0.6753031105vmin 0.0574525588vmin #ff527c;
+  --transform: rotate3d(1, 0, 0, 104deg) rotate3d(0, 1, 0, 88deg) rotate3d(0, 0, 1, 88deg) translate3d(0, 0, 83.9759630931vmin);
+}
+
+.star:nth-of-type(147) {
+  --size: 0.2748496321vmin;
+  --background: #ff4371;
+  --shadow: 0 0 0.3982082352vmin 0.0248214332vmin #ff4371;
+  --transform: rotate3d(1, 0, 0, 174deg) rotate3d(0, 1, 0, 99deg) rotate3d(0, 0, 1, 65deg) translate3d(0, 0, 81.8907295916vmin);
+}
+
+.star:nth-of-type(148) {
+  --size: 0.6064014241vmin;
+  --background: #13a9e9;
+  --shadow: 0 0 0.3707498195vmin 0.2839859823vmin #2cb4ee;
+  --transform: rotate3d(1, 0, 0, 79deg) rotate3d(0, 1, 0, 43deg) rotate3d(0, 0, 1, 115deg) translate3d(0, 0, 65.6962808765vmin);
+}
+
+.star:nth-of-type(149) {
+  --size: 0.628392344vmin;
+  --background: #9ff6a0;
+  --shadow: 0 0 0.7702688646vmin 0.1630364376vmin #a9f6aa;
+  --transform: rotate3d(1, 0, 0, 191deg) rotate3d(0, 1, 0, 181deg) rotate3d(0, 0, 1, 152deg) translate3d(0, 0, 83.247296726vmin);
+}
+
+.star:nth-of-type(150) {
+  --size: 0.2766899835vmin;
+  --background: #8df48e;
+  --shadow: 0 0 0.1796252066vmin 0.0938496762vmin #bbf8bc;
+  --transform: rotate3d(1, 0, 0, 257deg) rotate3d(0, 1, 0, 88deg) rotate3d(0, 0, 1, 11deg) translate3d(0, 0, 84.1609551058vmin);
+}
+
+.star:nth-of-type(151) {
+  --size: 0.5985997356vmin;
+  --background: #efe788;
+  --shadow: 0 0 0.7412898525vmin 0.2372142826vmin #f3efac;
+  --transform: rotate3d(1, 0, 0, 100deg) rotate3d(0, 1, 0, 72deg) rotate3d(0, 0, 1, 3deg) translate3d(0, 0, 77.3391130618vmin);
+}
+
+.star:nth-of-type(152) {
+  --size: 0.6833124672vmin;
+  --background: #5e5af2;
+  --shadow: 0 0 0.6748761952vmin 0.2815791292vmin #8c8af6;
+  --transform: rotate3d(1, 0, 0, 158deg) rotate3d(0, 1, 0, 266deg) rotate3d(0, 0, 1, 125deg) translate3d(0, 0, 69.8099636989vmin);
+}
+
+.star:nth-of-type(153) {
+  --size: 0.3244482772vmin;
+  --background: #8df48e;
+  --shadow: 0 0 0.4776511777vmin 0.0506765488vmin #bbf8bc;
+  --transform: rotate3d(1, 0, 0, 334deg) rotate3d(0, 1, 0, 183deg) rotate3d(0, 0, 1, 38deg) translate3d(0, 0, 65.1480188818vmin);
+}
+
+.star:nth-of-type(154) {
+  --size: 0.5865015391vmin;
+  --background: #31b6ef;
+  --shadow: 0 0 0.4587519476vmin 0.2907358496vmin #31b6ef;
+  --transform: rotate3d(1, 0, 0, 245deg) rotate3d(0, 1, 0, 83deg) rotate3d(0, 0, 1, 224deg) translate3d(0, 0, 79.2115754713vmin);
+}
+
+.star:nth-of-type(155) {
+  --size: 0.6418164986vmin;
+  --background: #fff4ad;
+  --shadow: 0 0 0.8742652656vmin 0.3044098021vmin #fff4ad;
+  --transform: rotate3d(1, 0, 0, 220deg) rotate3d(0, 1, 0, 158deg) rotate3d(0, 0, 1, 183deg) translate3d(0, 0, 82.3471701327vmin);
+}
+
+.star:nth-of-type(156) {
+  --size: 0.3924210031vmin;
+  --background: #f79090;
+  --shadow: 0 0 0.2401290961vmin 0.1526627088vmin #f79090;
+  --transform: rotate3d(1, 0, 0, 26deg) rotate3d(0, 1, 0, 91deg) rotate3d(0, 0, 1, 135deg) translate3d(0, 0, 72.35430446vmin);
+}
+
+.star:nth-of-type(157) {
+  --size: 0.6468524174vmin;
+  --background: #9bf59c;
+  --shadow: 0 0 0.6649009017vmin 0.0525220307vmin #adf7ae;
+  --transform: rotate3d(1, 0, 0, 1deg) rotate3d(0, 1, 0, 159deg) rotate3d(0, 0, 1, 125deg) translate3d(0, 0, 80.5067111782vmin);
+}
+
+.star:nth-of-type(158) {
+  --size: 0.3323539122vmin;
+  --background: #fff194;
+  --shadow: 0 0 0.3566276937vmin 0.1530056284vmin #fff5b2;
+  --transform: rotate3d(1, 0, 0, 353deg) rotate3d(0, 1, 0, 13deg) rotate3d(0, 0, 1, 126deg) translate3d(0, 0, 72.1166511483vmin);
+}
+
+.star:nth-of-type(159) {
+  --size: 0.31646009vmin;
+  --background: #f4f7f9;
+  --shadow: 0 0 0.1981216305vmin 0.0926125405vmin #f4f7f9;
+  --transform: rotate3d(1, 0, 0, 86deg) rotate3d(0, 1, 0, 178deg) rotate3d(0, 0, 1, 230deg) translate3d(0, 0, 78.1899931809vmin);
+}
+
+.star:nth-of-type(160) {
+  --size: 0.3373672261vmin;
+  --background: #f0e991;
+  --shadow: 0 0 0.3284723873vmin 0.11252101vmin #f2eda3;
+  --transform: rotate3d(1, 0, 0, 23deg) rotate3d(0, 1, 0, 272deg) rotate3d(0, 0, 1, 145deg) translate3d(0, 0, 76.3833848917vmin);
+}
+
+.star:nth-of-type(161) {
+  --size: 0.6597139671vmin;
+  --background: #fff194;
+  --shadow: 0 0 0.348364956vmin 0.175144739vmin #fff5b2;
+  --transform: rotate3d(1, 0, 0, 179deg) rotate3d(0, 1, 0, 202deg) rotate3d(0, 0, 1, 76deg) translate3d(0, 0, 85.609557274vmin);
+}
+
+.star:nth-of-type(162) {
+  --size: 0.4720650544vmin;
+  --background: #ff95bf;
+  --shadow: 0 0 0.6544027222vmin 0.0199667713vmin #ff95bf;
+  --transform: rotate3d(1, 0, 0, 160deg) rotate3d(0, 1, 0, 285deg) rotate3d(0, 0, 1, 265deg) translate3d(0, 0, 77.8912766018vmin);
+}
+
+.star:nth-of-type(163) {
+  --size: 0.6504635179vmin;
+  --background: #f9b58b;
+  --shadow: 0 0 0.3600429363vmin 0.2166635323vmin #f9b58b;
+  --transform: rotate3d(1, 0, 0, 118deg) rotate3d(0, 1, 0, 225deg) rotate3d(0, 0, 1, 40deg) translate3d(0, 0, 71.8222777094vmin);
+}
+
+.star:nth-of-type(164) {
+  --size: 0.5325199865vmin;
+  --background: #12a2e0;
+  --shadow: 0 0 0.4454094924vmin 0.0852077867vmin #36b7ef;
+  --transform: rotate3d(1, 0, 0, 217deg) rotate3d(0, 1, 0, 192deg) rotate3d(0, 0, 1, 353deg) translate3d(0, 0, 86.4416174817vmin);
+}
+
+.star:nth-of-type(165) {
+  --size: 0.4968343895vmin;
+  --background: #722b83;
+  --shadow: 0 0 0.5027812162vmin 0.0309032529vmin #722b83;
+  --transform: rotate3d(1, 0, 0, 310deg) rotate3d(0, 1, 0, 214deg) rotate3d(0, 0, 1, 104deg) translate3d(0, 0, 74.250386032vmin);
+}
+
+.star:nth-of-type(166) {
+  --size: 0.4070272702vmin;
+  --background: #8c8af6;
+  --shadow: 0 0 0.3348557376vmin 0.0470772996vmin #8c8af6;
+  --transform: rotate3d(1, 0, 0, 74deg) rotate3d(0, 1, 0, 208deg) rotate3d(0, 0, 1, 28deg) translate3d(0, 0, 79.2312556205vmin);
+}
+
+.star:nth-of-type(167) {
+  --size: 0.5998247757vmin;
+  --background: #23b1ed;
+  --shadow: 0 0 0.8733473762vmin 0.0167294498vmin #23b1ed;
+  --transform: rotate3d(1, 0, 0, 201deg) rotate3d(0, 1, 0, 180deg) rotate3d(0, 0, 1, 185deg) translate3d(0, 0, 66.1833883329vmin);
+}
+
+.star:nth-of-type(168) {
+  --size: 0.3205347313vmin;
+  --background: #2cb4ee;
+  --shadow: 0 0 0.4741132217vmin 0.0190354755vmin #2cb4ee;
+  --transform: rotate3d(1, 0, 0, 65deg) rotate3d(0, 1, 0, 217deg) rotate3d(0, 0, 1, 56deg) translate3d(0, 0, 80.3969031422vmin);
+}
+
+.star:nth-of-type(169) {
+  --size: 0.7090341137vmin;
+  --background: #91f493;
+  --shadow: 0 0 0.4300248122vmin 0.108613794vmin #b7f8b7;
+  --transform: rotate3d(1, 0, 0, 7deg) rotate3d(0, 1, 0, 55deg) rotate3d(0, 0, 1, 105deg) translate3d(0, 0, 76.736415884vmin);
+}
+
+.star:nth-of-type(170) {
+  --size: 0.7391062072vmin;
+  --background: #6c69f3;
+  --shadow: 0 0 0.898611915vmin 0.1256507575vmin #7e7bf5;
+  --transform: rotate3d(1, 0, 0, 247deg) rotate3d(0, 1, 0, 264deg) rotate3d(0, 0, 1, 77deg) translate3d(0, 0, 66.7895773037vmin);
+}
+
+.star:nth-of-type(171) {
+  --size: 0.3733028621vmin;
+  --background: #ff95bf;
+  --shadow: 0 0 0.2911786461vmin 0.0309409998vmin #ff95bf;
+  --transform: rotate3d(1, 0, 0, 289deg) rotate3d(0, 1, 0, 334deg) rotate3d(0, 0, 1, 305deg) translate3d(0, 0, 66.4539259776vmin);
+}
+
+.star:nth-of-type(172) {
+  --size: 0.4891868121vmin;
+  --background: #ff2a5e;
+  --shadow: 0 0 0.2594703003vmin 0.2227761378vmin #ff527c;
+  --transform: rotate3d(1, 0, 0, 195deg) rotate3d(0, 1, 0, 143deg) rotate3d(0, 0, 1, 317deg) translate3d(0, 0, 87.9635708843vmin);
+}
+
+.star:nth-of-type(173) {
+  --size: 0.4119280924vmin;
+  --background: #6e2a7f;
+  --shadow: 0 0 0.4685372869vmin 0.0938892954vmin #6e2a7f;
+  --transform: rotate3d(1, 0, 0, 323deg) rotate3d(0, 1, 0, 234deg) rotate3d(0, 0, 1, 278deg) translate3d(0, 0, 80.6341952765vmin);
+}
+
+.star:nth-of-type(174) {
+  --size: 0.4261297333vmin;
+  --background: #f68282;
+  --shadow: 0 0 0.3633210596vmin 0.147554465vmin #f68c8c;
+  --transform: rotate3d(1, 0, 0, 85deg) rotate3d(0, 1, 0, 183deg) rotate3d(0, 0, 1, 108deg) translate3d(0, 0, 79.0180212698vmin);
+}
+
+.star:nth-of-type(175) {
+  --size: 0.593472091vmin;
+  --background: #e8edf1;
+  --shadow: 0 0 0.8574128853vmin 0.0660091617vmin #f4f7f9;
+  --transform: rotate3d(1, 0, 0, 298deg) rotate3d(0, 1, 0, 229deg) rotate3d(0, 0, 1, 297deg) translate3d(0, 0, 77.2810004248vmin);
+}
+
+.star:nth-of-type(176) {
+  --size: 0.6560468139vmin;
+  --background: #fff29e;
+  --shadow: 0 0 0.9717613786vmin 0.1643923695vmin #fff4a8;
+  --transform: rotate3d(1, 0, 0, 304deg) rotate3d(0, 1, 0, 177deg) rotate3d(0, 0, 1, 272deg) translate3d(0, 0, 72.6681074102vmin);
+}
+
+.star:nth-of-type(177) {
+  --size: 0.3664586186vmin;
+  --background: #fff6b7;
+  --shadow: 0 0 0.5474307018vmin 0.0966238329vmin #fff6b7;
+  --transform: rotate3d(1, 0, 0, 15deg) rotate3d(0, 1, 0, 0deg) rotate3d(0, 0, 1, 40deg) translate3d(0, 0, 67.3739016491vmin);
+}
+
+.star:nth-of-type(178) {
+  --size: 0.3719079952vmin;
+  --background: #dd1486;
+  --shadow: 0 0 0.3871602498vmin 0.0528767108vmin #eb2495;
+  --transform: rotate3d(1, 0, 0, 346deg) rotate3d(0, 1, 0, 353deg) rotate3d(0, 0, 1, 27deg) translate3d(0, 0, 75.9136830098vmin);
+}
+
+.star:nth-of-type(179) {
+  --size: 0.4075449116vmin;
+  --background: #96f597;
+  --shadow: 0 0 0.5044488594vmin 0.1924779645vmin #b2f7b3;
+  --transform: rotate3d(1, 0, 0, 260deg) rotate3d(0, 1, 0, 259deg) rotate3d(0, 0, 1, 269deg) translate3d(0, 0, 80.1258407661vmin);
+}
+
+.star:nth-of-type(180) {
+  --size: 0.5238080076vmin;
+  --background: #e11488;
+  --shadow: 0 0 0.2685241165vmin 0.0923795318vmin #eb1f93;
+  --transform: rotate3d(1, 0, 0, 105deg) rotate3d(0, 1, 0, 288deg) rotate3d(0, 0, 1, 207deg) translate3d(0, 0, 87.6879280364vmin);
+}
+
+.star:nth-of-type(181) {
+  --size: 0.3418518203vmin;
+  --background: #ff4875;
+  --shadow: 0 0 0.5048192627vmin 0.0070984255vmin #ff4875;
+  --transform: rotate3d(1, 0, 0, 217deg) rotate3d(0, 1, 0, 335deg) rotate3d(0, 0, 1, 7deg) translate3d(0, 0, 81.6643791202vmin);
+}
+
+.star:nth-of-type(182) {
+  --size: 0.600317733vmin;
+  --background: #ff4875;
+  --shadow: 0 0 0.3543092875vmin 0.1147303551vmin #ff4875;
+  --transform: rotate3d(1, 0, 0, 9deg) rotate3d(0, 1, 0, 209deg) rotate3d(0, 0, 1, 217deg) translate3d(0, 0, 69.9904429678vmin);
+}
+
+.star:nth-of-type(183) {
+  --size: 0.6754735366vmin;
+  --background: #ff3465;
+  --shadow: 0 0 0.8190910344vmin 0.2583487273vmin #ff4875;
+  --transform: rotate3d(1, 0, 0, 198deg) rotate3d(0, 1, 0, 198deg) rotate3d(0, 0, 1, 346deg) translate3d(0, 0, 89.2711173049vmin);
+}
+
+.star:nth-of-type(184) {
+  --size: 0.5627646462vmin;
+  --background: #f9af82;
+  --shadow: 0 0 0.4355240663vmin 0.2700558841vmin #f9af82;
+  --transform: rotate3d(1, 0, 0, 312deg) rotate3d(0, 1, 0, 121deg) rotate3d(0, 0, 1, 125deg) translate3d(0, 0, 74.0139585345vmin);
+}
+
+.star:nth-of-type(185) {
+  --size: 0.5615295194vmin;
+  --background: #f89f9f;
+  --shadow: 0 0 0.4778048726vmin 0.2610579147vmin #f89f9f;
+  --transform: rotate3d(1, 0, 0, 270deg) rotate3d(0, 1, 0, 240deg) rotate3d(0, 0, 1, 150deg) translate3d(0, 0, 78.1145554387vmin);
+}
+
+.star:nth-of-type(186) {
+  --size: 0.4251756044vmin;
+  --background: #706df4;
+  --shadow: 0 0 0.3531640583vmin 0.0038865434vmin #7a77f4;
+  --transform: rotate3d(1, 0, 0, 279deg) rotate3d(0, 1, 0, 267deg) rotate3d(0, 0, 1, 319deg) translate3d(0, 0, 73.9649787887vmin);
+}
+
+.star:nth-of-type(187) {
+  --size: 0.5587641734vmin;
+  --background: #682878;
+  --shadow: 0 0 0.7782748645vmin 0.0401161836vmin #682878;
+  --transform: rotate3d(1, 0, 0, 189deg) rotate3d(0, 1, 0, 27deg) rotate3d(0, 0, 1, 284deg) translate3d(0, 0, 71.1183279519vmin);
+}
+
+.star:nth-of-type(188) {
+  --size: 0.4629818137vmin;
+  --background: #d31380;
+  --shadow: 0 0 0.453879265vmin 0.0369628435vmin #ec2d99;
+  --transform: rotate3d(1, 0, 0, 330deg) rotate3d(0, 1, 0, 219deg) rotate3d(0, 0, 1, 330deg) translate3d(0, 0, 67.8878219946vmin);
+}
+
+.star:nth-of-type(189) {
+  --size: 0.6727394318vmin;
+  --background: #ff85b6;
+  --shadow: 0 0 0.9445814215vmin 0.1416075901vmin #ff85b6;
+  --transform: rotate3d(1, 0, 0, 281deg) rotate3d(0, 1, 0, 282deg) rotate3d(0, 0, 1, 192deg) translate3d(0, 0, 66.3508036913vmin);
+}
+
+.star:nth-of-type(190) {
+  --size: 0.293886118vmin;
+  --background: #ff80b3;
+  --shadow: 0 0 0.225978381vmin 0.0494802807vmin #ff80b3;
+  --transform: rotate3d(1, 0, 0, 82deg) rotate3d(0, 1, 0, 160deg) rotate3d(0, 0, 1, 84deg) translate3d(0, 0, 70.0848656599vmin);
+}
+
+.star:nth-of-type(191) {
+  --size: 0.6850639009vmin;
+  --background: #8885f5;
+  --shadow: 0 0 1.0019260133vmin 0.0033618918vmin #8885f5;
+  --transform: rotate3d(1, 0, 0, 200deg) rotate3d(0, 1, 0, 333deg) rotate3d(0, 0, 1, 204deg) translate3d(0, 0, 81.6190344048vmin);
+}
+
+.star:nth-of-type(192) {
+  --size: 0.7300595572vmin;
+  --background: #2cb4ee;
+  --shadow: 0 0 0.3996791804vmin 0.323591439vmin #2cb4ee;
+  --transform: rotate3d(1, 0, 0, 246deg) rotate3d(0, 1, 0, 288deg) rotate3d(0, 0, 1, 216deg) translate3d(0, 0, 66.9326371008vmin);
+}
+
+.star:nth-of-type(193) {
+  --size: 0.5128914731vmin;
+  --background: #ff3969;
+  --shadow: 0 0 0.3378043065vmin 0.1389471885vmin #ff4371;
+  --transform: rotate3d(1, 0, 0, 40deg) rotate3d(0, 1, 0, 37deg) rotate3d(0, 0, 1, 222deg) translate3d(0, 0, 86.8685068066vmin);
+}
+
+.star:nth-of-type(194) {
+  --size: 0.5180731818vmin;
+  --background: #f79d65;
+  --shadow: 0 0 0.5312364761vmin 0.0503144208vmin #f9b58b;
+  --transform: rotate3d(1, 0, 0, 150deg) rotate3d(0, 1, 0, 254deg) rotate3d(0, 0, 1, 297deg) translate3d(0, 0, 66.0184469282vmin);
+}
+
+.star:nth-of-type(195) {
+  --size: 0.4908227975vmin;
+  --background: #f68282;
+  --shadow: 0 0 0.6187544434vmin 0.1989507417vmin #f68c8c;
+  --transform: rotate3d(1, 0, 0, 178deg) rotate3d(0, 1, 0, 310deg) rotate3d(0, 0, 1, 46deg) translate3d(0, 0, 72.004798336vmin);
+}
+
+.star:nth-of-type(196) {
+  --size: 0.2902511725vmin;
+  --background: #ec2997;
+  --shadow: 0 0 0.2620299093vmin 0.0893861923vmin #ec2997;
+  --transform: rotate3d(1, 0, 0, 55deg) rotate3d(0, 1, 0, 18deg) rotate3d(0, 0, 1, 177deg) translate3d(0, 0, 71.9807759735vmin);
+}
+
+.star:nth-of-type(197) {
+  --size: 0.6297574232vmin;
+  --background: #fff08a;
+  --shadow: 0 0 0.7295601333vmin 0.120066613vmin #fff6bd;
+  --transform: rotate3d(1, 0, 0, 302deg) rotate3d(0, 1, 0, 10deg) rotate3d(0, 0, 1, 358deg) translate3d(0, 0, 89.5082403411vmin);
+}
+
+.star:nth-of-type(198) {
+  --size: 0.673347973vmin;
+  --background: #ff255a;
+  --shadow: 0 0 0.8968263173vmin 0.2553848179vmin #ff5880;
+  --transform: rotate3d(1, 0, 0, 67deg) rotate3d(0, 1, 0, 188deg) rotate3d(0, 0, 1, 308deg) translate3d(0, 0, 75.0537451079vmin);
+}
+
+.star:nth-of-type(199) {
+  --size: 0.3696698196vmin;
+  --background: #f57979;
+  --shadow: 0 0 0.4968562209vmin 0.0324237311vmin #f79595;
+  --transform: rotate3d(1, 0, 0, 73deg) rotate3d(0, 1, 0, 249deg) rotate3d(0, 0, 1, 163deg) translate3d(0, 0, 69.3074203222vmin);
+}
+
+.star:nth-of-type(200) {
+  --size: 0.411696944vmin;
+  --background: #b7f8b7;
+  --shadow: 0 0 0.4727227086vmin 0.0876544247vmin #b7f8b7;
+  --transform: rotate3d(1, 0, 0, 330deg) rotate3d(0, 1, 0, 328deg) rotate3d(0, 0, 1, 0deg) translate3d(0, 0, 65.7846004049vmin);
+}
+
+@-webkit-keyframes rotation {
+  100% {
+    -webkit-transform: rotate3d(1, 1, 1, 360deg);
+    transform: rotate3d(1, 1, 1, 360deg);
+  }
+}
+
+@keyframes rotation {
+  100% {
+    -webkit-transform: rotate3d(1, 1, 1, 360deg);
+    transform: rotate3d(1, 1, 1, 360deg);
+  }
+}
+
+@-webkit-keyframes appear {
+  100% {
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1);
+  }
+}
+
+@keyframes appear {
+  100% {
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1);
+  }
+}
+
+@-webkit-keyframes scale {
+
+  0%,
+  100% {
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1);
+  }
+
+  50% {
+    -webkit-transform: scale3d(0.75, 0.75, 0.75);
+    transform: scale3d(0.75, 0.75, 0.75);
+  }
+}
+
+@keyframes scale {
+
+  0%,
+  100% {
+    -webkit-transform: scale3d(1, 1, 1);
+    transform: scale3d(1, 1, 1);
+  }
+
+  50% {
+    -webkit-transform: scale3d(0.75, 0.75, 0.75);
+    transform: scale3d(0.75, 0.75, 0.75);
+  }
+}
\ No newline at end of file
diff --git a/src/pages/Home/index.module.css b/src/pages/Home/index.module.css
new file mode 100644
index 0000000..cf6faa4
--- /dev/null
+++ b/src/pages/Home/index.module.css
@@ -0,0 +1,359 @@
+.homeContainer {
+  padding: 20px;
+  margin-top: 20px;
+  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
+  border-radius: 15px;
+  min-height: 100vh;
+}
+
+.searchBarContainer {
+  display: flex;
+  justify-content: center;
+  position: fixed;
+  top: 60px;
+  left: 0;
+  right: 0;
+  /* z-index: 1000; */
+  padding: 10px 0;
+  background: rgba(255, 255, 255, 0.05);
+  min-width: fit-content
+}
+
+.searchInput {
+  width: 80%;
+  padding: 8px;
+  font-size: 18px;
+  max-width: 1000px;
+  border: 2px solid #333;
+  border-radius: 8px;
+  background: rgba(255, 255, 255, 0.1);
+  color: white;
+  backdrop-filter: blur(5px);
+}
+
+.searchInput:focus {
+  outline: none;
+  border: 2px solid #666;
+  /* 灰色高亮边框 */
+}
+
+
+.secondRow {
+  display: flex;
+  justify-content: space-between;
+  margin-bottom: 20px;
+}
+
+.leftBox {
+  margin-left: 20px;
+  flex: 1;
+  padding: 20px;
+  background: rgba(255, 255, 255, 0.05);
+  border-radius: 12px;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  backdrop-filter: blur(5px);
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  max-width: 500px;
+  min-width: 500px;
+  gap: 15px;
+}
+
+.rightCard {
+  flex: 1;
+  padding: 20px;
+  background: linear-gradient(135deg, rgba(26, 26, 46, 0.8), rgba(22, 33, 62, 0.8));
+  /* 星空渐变背景 */
+  border-radius: 12px;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  backdrop-filter: blur(10px);
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  max-width: 350px;
+  margin-left: 20px;
+  height: 200px;
+}
+
+.rightCard2 {
+  flex: 1;
+  padding: 10px;
+  background: linear-gradient(135deg, rgba(26, 26, 46, 0.8), rgba(22, 33, 62, 0.8));
+  /* 星空渐变背景 */
+  border-radius: 12px;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+  backdrop-filter: blur(10px);
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  max-width: 200px;
+  width: 100px;
+  margin-left: 20px;
+  height: 200px;
+}
+
+/* 覆盖Ant Design Card默认样式 */
+.rightCard .ant-card {
+  background: transparent;
+  border-radius: 12px;
+}
+
+.rightCard .ant-card-head {
+  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
+}
+
+.rightCard .ant-card-head-title {
+  color: #fff;
+  font-size: 16px;
+}
+
+/* 覆盖Statistic组件样式 */
+.rightCard .ant-statistic-title {
+  color: #a8b2d1;
+  font-size: 12px;
+}
+
+.rightCard .ant-statistic-content-value {
+  color: #fff;
+  font-size: 16px;
+  font-weight: 600;
+}
+
+/* 覆盖Button组件样式 */
+.rightCard .ant-btn {
+  padding: 10px;
+  background: linear-gradient(135deg, #4a69bd, #6c5ce7);
+  border: none;
+  border-radius: 8px;
+  color: white;
+  font-size: 14px;
+  transition: transform 0.2s;
+}
+
+.rightCard .ant-btn:hover {
+  transform: translateY(-2px);
+  background: linear-gradient(135deg, #3c56a8, #5b4ac7);
+  color: white;
+}
+
+.rightCard .ant-btn-primary {
+  background: linear-gradient(135deg, #6c5ce7, #4a69bd);
+  /* 主按钮颜色调整 */
+}
+
+.statsContainer {
+  display: flex;
+  justify-content: space-between;
+  gap: 10px;
+  margin-bottom: 15px;
+}
+
+.statItem {
+  flex: 1;
+  padding: 12px;
+  background: rgba(255, 255, 255, 0.03);
+  border-radius: 8px;
+  text-align: center;
+}
+
+.statTitle {
+  font-size: 12px;
+  color: #a8b2d1;
+  margin-bottom: 4px;
+}
+
+.statValue {
+  font-size: 16px;
+  color: #fff;
+  font-weight: 600;
+}
+
+.buttonGroup {
+  display: flex;
+  flex-direction: column;
+  gap: 10px;
+}
+
+.actionButton {
+  padding: 10px;
+  background: linear-gradient(135deg, #4a69bd, #6c5ce7);
+  /* 星空蓝紫色渐变 */
+  border: none;
+  border-radius: 8px;
+  color: white;
+  font-size: 14px;
+  cursor: pointer;
+  transition: transform 0.2s;
+}
+
+.actionButton:hover {
+  transform: translateY(-2px);
+  background: linear-gradient(135deg, #3c56a8, #5b4ac7);
+}
+
+.textContent {
+  display: flex;
+
+  flex-direction: column;
+  /* 垂直排列 */
+  width: min-content;
+}
+
+.titlebox {
+  width: 220px;
+  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
+}
+
+.middleBox {
+  margin-left: 20px;
+  flex: 1;
+  padding: 20px;
+  background: rgba(255, 255, 255, 0.05);
+  border-radius: 12px;
+  display: flex;
+  align-items: center;
+  backdrop-filter: blur(5px);
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  max-width: 350px;
+}
+
+.gitAnimation {
+  height: 150px;
+  min-width: 150px;
+  /* 固定动图区域宽度 */
+  /* 保持正方形 */
+  width: 150px;
+  min-width: 150px;
+  border-radius: 8px;
+  /* 移除背景色，使用实际图片 */
+}
+
+.gitSquare {
+  width: 100%;
+  /* 完全填充容器 */
+  height: 100%;
+  object-fit: cover;
+  /* 保持宽高比填充 */
+  border-radius: 8px;
+  min-width: 60px;
+  min-height: 60px;
+}
+
+.rightBox {
+  flex: 1;
+  padding: 20px;
+  background: rgba(255, 255, 255, 0.05);
+  border-radius: 12px;
+  margin-left: 20px;
+  backdrop-filter: blur(5px);
+  border: 1px solid rgba(255, 255, 255, 0.1);
+}
+
+.carouselContainer {
+  overflow: hidden;
+  position: relative;
+}
+
+.carouselItem {
+  padding: 10px 0;
+}
+
+.thirdRow {
+  display: grid;
+  grid-template-columns: repeat(4, 1fr);
+  gap: 24px;
+  margin-top: 32px;
+}
+
+.postCard {
+  background: rgba(255, 255, 255, 0.05);
+  border-radius: 16px;
+  backdrop-filter: blur(8px);
+  border: 1px solid rgba(255, 255, 255, 0.1);
+  transition: all 0.3s ease;
+  padding: 16px;
+  min-width: 280px;
+  max-width: 320px;
+  display: flex;
+  flex-direction: column;
+  min-height: 200px;
+}
+
+.cardContent {
+  display: flex;
+  flex-direction: column;
+  gap: 12px;
+  width: 100%;
+}
+
+.postCard:hover {
+  transform: translateY(-4px);
+  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
+}
+
+.cardContent {
+  display: flex;
+  gap: 16px;
+  width: 100%;
+}
+
+.cardImage {
+  width: 120px;
+  height: 90px;
+  object-fit: cover;
+  border-radius: 8px;
+  background: #f0f0f0;
+}
+
+.infoWrapper {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  gap: 8px;
+}
+
+.postTitle {
+  font-size: 14px;
+  font-weight: 500;
+  color: white;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  margin: 0;
+}
+
+.postAuthor {
+  font-size: 12px;
+  color: #ddd;
+  margin: 0;
+}
+
+.tagsContainer {
+  display: flex;
+  gap: 8px;
+  flex-wrap: wrap;
+  margin: 4px 0;
+}
+
+.tag {
+  font-size: 11px;
+  padding: 2px 8px;
+  background: rgba(255, 255, 255, 0.1);
+  border-radius: 12px;
+  color: #eee;
+}
+
+.statsContainer {
+  display: flex;
+  gap: 16px;
+  margin-top: auto;
+}
+
+.statItem {
+  display: flex;
+  align-items: center;
+  gap: 4px;
+  font-size: 12px;
+  color: #bbb;
+}
\ No newline at end of file
diff --git a/src/pages/Home/index.tsx b/src/pages/Home/index.tsx
index 5f0caa0..7234c32 100644
--- a/src/pages/Home/index.tsx
+++ b/src/pages/Home/index.tsx
@@ -1,95 +1,413 @@
-import React, { useState } from 'react';
+// 写一个简单的欢迎界面
+import React, { useEffect, useState } from 'react';
+import { Card, Statistic, Row, Col, Divider, Button } from 'antd';
+import { LikeOutlined, HeartOutlined, EyeOutlined } from '@ant-design/icons';
+import { getUserInfo } from '@/services/session';
+import styles from './index.module.css'; // 假设我们创建了一个CSS模块文件
+import './css/stars-style.css'
+import { Flex } from 'antd';
+import { Typography } from "@mui/material";
+import { useRequest } from '@umijs/max';
+import { getPlanetList, updatePlanet, getUserPlanet, getPlanetInfo, PlanetEntity } from '@/services/planets/api';
 
-const planets = [
-    { name: 'Mercury', desc: 'The smallest planet.', img: 'https://images.unsplash.com/photo-1462331940025-496dfbfc7564?auto=format&fit=crop&w=400&q=80' },
-    { name: 'Venus', desc: 'The hottest planet.', img: 'https://images.unsplash.com/photo-1465101046530-73398c7f28ca?auto=format&fit=crop&w=400&q=80' },
-    { name: 'Earth', desc: 'Our home planet.', img: 'https://images.unsplash.com/photo-1465101178521-c1a9136a3b99?auto=format&fit=crop&w=400&q=80' },
-    { name: 'Mars', desc: 'The red planet.', img: 'https://images.unsplash.com/photo-1462331940025-496dfbfc7564?auto=format&fit=crop&w=400&q=80' },
-    { name: 'Jupiter', desc: 'The largest planet.', img: 'https://images.unsplash.com/photo-1465101178521-c1a9136a3b99?auto=format&fit=crop&w=400&q=80' },
-];
+const Welcome: React.FC = () => {
+  //  获取用户信息
+  // const { data: userInfo, loading } = useRequest(async () => {
+  //   return { data: await getUserInfo() };
+  // });
 
-const navItems = ['首页', '资源', '关于', '联系'];
+  const { data: userInfo, loading } = useRequest(async () => {
+    const userRes = await getUserInfo();
+    // 假设 userId 为字符串类型，需要将其转换为数字类型，同时处理可能的 undefined 情况
+    const userId = userRes.user.userId ? parseInt(userRes.user.userId, 10) : 1;
+    const UserplanetRes = await getUserPlanet({ userId });
+    const planetId = UserplanetRes.planetId || 1;
+    const planetRes = await getPlanetInfo({ planetId });
 
-const Home: React.FC = () => {
-    const [search, setSearch] = useState('');
+    return {
+      data: {
+        ...userRes.user,
+        planet: planetRes
+      }
+    };
+  });
 
-    const filteredPlanets = planets.filter(p =>
-        p.name.toLowerCase().includes(search.toLowerCase())
-    );
+  if (loading) {
+    return <div>loading...</div>;
+  }
 
-    return (
-        <div style={{ fontFamily: 'sans-serif', background: 'linear-gradient(to bottom, #0f2027, #2c5364)', minHeight: '100vh', color: '#fff' }}>
-            {/* 导航栏 */}
-            <nav style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', padding: '24px 48px', background: 'rgba(0,0,0,0.4)' }}>
-                <div style={{ fontWeight: 'bold', fontSize: 28, letterSpacing: 2 }}>🌌 PT星球</div>
-                <div>
-                    {navItems.map(item => (
-                        <a
-                            key={item}
-                            href="#"
-                            style={{
-                                color: '#fff',
-                                margin: '0 18px',
-                                textDecoration: 'none',
-                                fontSize: 18,
-                                transition: 'color 0.2s',
-                            }}
-                        >
-                            {item}
-                        </a>
-                    ))}
-                </div>
-            </nav>
+  const currentUser = userInfo;
 
-            {/* 搜索框 */}
-            <div style={{ display: 'flex', justifyContent: 'center', margin: '48px 0 32px 0' }}>
-                <input
-                    type="text"
-                    placeholder="搜索星球资源..."
-                    value={search}
-                    onChange={e => setSearch(e.target.value)}
-                    style={{
-                        width: 360,
-                        padding: '12px 20px',
-                        borderRadius: 24,
-                        border: 'none',
-                        fontSize: 18,
-                        outline: 'none',
-                        boxShadow: '0 2px 12px rgba(0,0,0,0.2)',
-                    }}
-                />
-            </div>
-
-            {/* 资源卡片 */}
-            <div style={{
-                display: 'flex',
-                flexWrap: 'wrap',
-                justifyContent: 'center',
-                gap: '32px',
-                padding: '0 48px 48px 48px'
-            }}>
-                {filteredPlanets.map(planet => (
-                    <div
-                        key={planet.name}
-                        style={{
-                            background: 'rgba(255,255,255,0.08)',
-                            borderRadius: 18,
-                            width: 260,
-                            boxShadow: '0 4px 24px rgba(0,0,0,0.18)',
-                            overflow: 'hidden',
-                            transition: 'transform 0.2s',
-                        }}
-                    >
-                        <img src={planet.img} alt={planet.name} style={{ width: '100%', height: 140, objectFit: 'cover' }} />
-                        <div style={{ padding: 20 }}>
-                            <div style={{ fontWeight: 'bold', fontSize: 22, marginBottom: 8 }}>{planet.name}</div>
-                            <div style={{ fontSize: 16, color: '#cfd8dc' }}>{planet.desc}</div>
-                        </div>
-                    </div>
-                ))}
-            </div>
+  console.log(currentUser)
+  return (
+    <div>
+      <div className="origin">
+        <div className="control">
+          <div className="galaxy">
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+            <div className="star"></div>
+          </div>
         </div>
-    );
+      </div>
+      <div className="main">
+        <div>
+
+          {/* 第一排：悬浮搜索框 */}
+          <div className={styles.searchBarContainer}>
+            <input type="text" placeholder="Search for everything..." className={styles.searchInput} />
+          </div>
+          <div style={{ display: "flex", marginTop: '40px' }}>
+            <div className={styles.leftBox}>
+              <div className={styles.textContent}>
+                <Typography
+                  variant="h4"
+                  sx={{
+                    color: "#fff",
+                    fontWeight: 600,
+                    mb: 2,
+                    letterSpacing: 2,
+                    textShadow: "0 2px 16px #0ea5e9",
+                  }}
+                >
+                  Welcome Back!
+                </Typography>
+
+                <h2 className={styles.titlebox}>{currentUser?.nickName}，整点什么？</h2>
+                <Button style={{ width: "100px" }} size='small' type="primary" onClick={() => window.location.href = '/relation'}>我的形象</Button>
+              </div>
+              <div className={styles.gitAnimation}>
+                <img
+                  src={`/images/planets/${userInfo?.planet?.filename}.gif`}
+                  alt="用户形象"
+                  style={{
+                    width: 150,
+                    height: 150,
+                    borderRadius: '50%',
+                    border: '2px solid #4a4a7a',
+                    boxShadow: '0 0 15px #6a5acd'
+                  }}
+                />
+              </div>
+            </div>
+
+            {/* 新增右侧统计卡片（使用Ant Design组件） */}
+            <Card className={styles.rightCard} title="种子统计" bordered={false}>
+              <Row gutter={16}>
+                <Col span={8}>
+                  <Statistic title="总种子数" value={128} />
+                </Col>
+                <Col span={8}>
+                  <Statistic title="活跃种子" value={42} />
+                </Col>
+                <Col span={8}>
+                  <Statistic title="完成种子" value={86} />
+                </Col>
+              </Row>
+              <Divider />
+            </Card>
+            <Card className={styles.rightCard2} >
+
+              <Flex className={styles.buttonGroup}>
+                <div style={{
+                  fontSize: '16px',
+                  color: '#a8b2d1',
+                  letterSpacing: '1px'
+                }}>来看看星球的
+                </div>
+                <div style={{
+                  fontSize: '23px',
+                  color: '#0abde3',
+                  letterSpacing: '1px',
+                  fontWeight: 'bold',
+                }}>
+                  种子
+                </div>
+                <Button type="primary" onClick={() => window.location.href = '/torrent-upload'}>新建种子</Button>
+                <Button onClick={() => window.location.href = '/torrent-list'}>我的种子</Button>
+              </Flex>
+            </Card>
+
+            <Card className={styles.rightCard2} >
+
+              <Flex className={styles.buttonGroup}>
+                <div style={{
+                  fontSize: '16px',
+                  color: '#a8b2d1',
+                  letterSpacing: '1px'
+                }}>现在看看星球
+                </div>
+                <div style={{
+                  fontSize: '23px',
+                  color: '#e1b12c',
+                  letterSpacing: '1px',
+                  fontWeight: 'bold',
+                }}>
+                  动态
+                </div>
+                <Button color="orange" variant="solid" onClick={() => window.location.href = '/user-center'}>立即创作</Button>
+                <Button onClick={() => window.location.href = '/user-center'}>我的创作</Button>
+              </Flex>
+            </Card>
+
+          </div>
+
+          <div className={styles.homeContainer}>
+
+            {/* 第二排：左侧欢迎信息和右侧通知公告 */}
+            <div className={styles.secondRow}>
+              {/* 左侧框 */}
+              {/* 中间框：最新热点 */}
+              <div className={styles.middleBox}>
+                <div className={styles.hotSpot}>
+                  <h3 className={styles.hotTitle}>排行榜动态</h3>
+                  <ul className={styles.hotList}>
+                    {Array.from({ length: 5 }, (_, i) => (
+                      <li key={i} className={styles.hotItem}>
+                        <span className={styles.hotItemNumber}>{`${i + 1}`}</span>
+                        <span className={styles.hotItemText}>综合榜{`${i + 1}`}</span>
+                      </li>
+                    ))}
+                  </ul>
+                </div>
+              </div>
+
+              {/* 右侧框：通知公告（轮播样式） */}
+              <div className={styles.rightBox}>
+                <div className={styles.carouselContainer}>
+                  {/* 轮播内容，这里用几个div模拟 */}
+                  <div className={styles.carouselItem}>通知公告 1</div>
+                  <div className={styles.carouselItem}>通知公告 2</div>
+                  <div className={styles.carouselItem}>通知公告 3</div>
+                </div>
+              </div>
+            </div>
+            {/* 第三排：帖子卡片 */}
+            <div className={styles.thirdRow}>
+              {Array.from({ length: 16 }, (_, i) => (
+                <div className={styles.postCard} key={i}>
+                  <div className={styles.cardContent}>
+                    <h3 className={styles.postTitle}>模拟帖子标题{`${i + 1}`}（这是一个可能会很长的标题测试单行缩略效果）</h3>
+                    <img src="/images/post-cover.jpg" alt="帖子封面" className={styles.cardImage} />
+                    <div className={styles.infoWrapper}>
+                      <p className={styles.postAuthor}>作者：用户{`${i + 1}`}</p>
+                      <div className={styles.tagsContainer}>
+                        {['技术', '生活', '分享'].map((tag, idx) => (
+                          <span className={styles.tag} key={idx}>{tag}</span>
+                        ))}
+                      </div>
+                      <div className={styles.statsContainer}>
+                        <span className={styles.statItem}><LikeOutlined /> {Math.floor(Math.random() * 1000)}</span>
+                        <span className={styles.statItem}><HeartOutlined /> {Math.floor(Math.random() * 500)}</span>
+                        <span className={styles.statItem}><EyeOutlined /> {Math.floor(Math.random() * 5000)}</span>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              ))}
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  );
 };
 
-export default Home;
\ No newline at end of file
+export default Welcome;
diff --git a/src/pages/PostCenter/index.module.css b/src/pages/PostCenter/index.module.css
index 2b262e2..1c66ea5 100644
--- a/src/pages/PostCenter/index.module.css
+++ b/src/pages/PostCenter/index.module.css
@@ -29,10 +29,16 @@
   padding: 8px 16px;
   border-radius: 6px;
   transition: all 0.3s ease;
+  color: #000000;
+  font-weight: bold;
+
 }
 
 .categoryButton:hover {
-  background-color: #f0f0f0;
+  background: #888888;
+  color: #666;
+  font-weight: bold;
+  border: 1px solid #888888;
 }
 
 .searchContainer {
diff --git a/src/pages/Relation/index.tsx b/src/pages/Relation/index.tsx
new file mode 100644
index 0000000..a5d2d97
--- /dev/null
+++ b/src/pages/Relation/index.tsx
@@ -0,0 +1,258 @@
+import { useEffect, useState } from 'react';
+import { Card, List, Button, message, Carousel, Modal } from 'antd';
+import { getUserInfo } from '@/services/session';
+import { getPlanetList, updateUserPlanet, getUserPlanet, getPlanetInfo, PlanetEntity, getRandomUserPlanets } from '@/services/planets/api';
+import { useRequest } from '@umijs/max';
+import { getUser } from '@/services/system/user';
+
+const RelationPage = () => {
+    const [planetList, setPlanetList] = useState<PlanetEntity[]>([]);
+    const [relatedUsers, setRelatedUsers] = useState<any[]>([]);
+    const [selectedUser, setSelectedUser] = useState<any>(null);
+    const [userModalVisible, setUserModalVisible] = useState(false);
+    //  获取用户信息
+    const { data: userInfo, loading: userLoading } = useRequest(async () => {
+        const userRes = await getUserInfo();
+        // 假设 userId 为字符串类型，需要将其转换为数字类型，同时处理可能的 undefined 情况
+        const userId = userRes.user.userId ? parseInt(userRes.user.userId, 10) : 1;
+        const UserplanetRes = await getUserPlanet({ userId });
+        console.log(UserplanetRes);
+        const planetId = UserplanetRes.planetId || 1;
+        const planetRes = await getPlanetInfo({ planetId });
+
+        return {
+            data: {
+                ...userRes.user,
+                planet: planetRes
+            }
+        };
+    });
+
+
+
+
+    console.log(userInfo);
+    const [listLoading, setListLoading] = useState(false);
+    // 获取所有GIF列表
+    const fetchPlanetList = async () => {
+        try {
+            setListLoading(true);
+            const res = await getPlanetList({ pageNum: 1, pageSize: 100 });
+            console.log(res);
+            setPlanetList(res);
+        } catch (error) {
+            message.error('获取GIF列表失败');
+        } finally {
+            setListLoading(false);
+        }
+    };
+
+    // 获取相关用户信息
+    const fetchRelatedUsers = async () => {
+        try {
+            // 获取随机用户星球列表
+            const randomPlanetsNo = await getRandomUserPlanets();
+            const userId = userInfo?.userId ? parseInt(userInfo.userId, 10) : 1;
+            const randomPlanets = randomPlanetsNo.filter((item) => item.userId !== userId);
+            // 获取完整用户信息并关联星球数据
+            const usersWithPlanets = await Promise.all(
+                randomPlanets.map(async (item) => {
+
+                    // 确保 item.userId 为 number 类型，若为 undefined 则使用默认值 1
+                    const userIdToUse = typeof item.userId === 'number' ? item.userId : 1;
+                    const userRes = await getUser(userIdToUse);
+                    const planetRes = await getPlanetInfo({ planetId: item.planetId });
+                    return {
+                        user: userRes.data,
+                        planet: planetRes
+                    };
+                })
+            );
+
+            setRelatedUsers(usersWithPlanets);
+            console.log(usersWithPlanets);
+        } catch (error) {
+            message.error('获取相关用户失败');
+            console.error(error);
+        }
+    };
+
+    useEffect(() => {
+        fetchPlanetList();
+        fetchRelatedUsers();
+    }, []);
+    // 显示用户详情
+    const showUserDetails = (user: any) => {
+        setSelectedUser(user);
+        setUserModalVisible(true);
+    };
+    console.log(planetList);
+    // 更新用户形象
+    const handleUpdateAvatar = async (id: number | undefined) => {
+        if (!id) {
+            message.error('无效的星球ID');
+            return;
+        }
+        try {
+            console.log(id);
+            // 处理 userInfo.userId 可能为 undefined 的情况，若为 undefined 则使用默认值 '1'
+            const userIdStr = userInfo?.userId || '1';
+            console.log(userIdStr);
+            await updateUserPlanet({ planetId: id, userId: parseInt(userIdStr, 10) });
+            message.success('更新形象成功');
+            window.location.reload();
+        } catch (error) {
+            message.error('更新形象失败');
+        }
+    };
+    if (userLoading) {
+        return <div>Loading...</div>;
+    }
+
+    return (
+        <div>
+            <Card title="当前形象" style={{ background: 'transparent', borderColor: '#3a3a5c' }}>
+                {userInfo?.planet && (
+                    <div style={{ textAlign: 'center' }}>
+                        <img
+                            src={`/images/planets/${userInfo.planet.filename}.gif`}
+                            alt="用户形象"
+                            style={{
+                                width: 200,
+                                height: 200,
+                                borderRadius: '50%',
+                                border: '2px solid #4a4a7a',
+                                boxShadow: '0 0 15px #6a5acd'
+                            }}
+                        />
+                        <div style={{
+                            marginTop: 16,
+                            color: '#a8b2d1',
+                            fontSize: 16
+                        }}>
+                            当前形象: {userInfo.planet.name}
+                        </div>
+                    </div>
+                )}
+            </Card>
+
+            <Card title="选择新形象" style={{
+                marginTop: 24,
+                background: 'transparent',
+                borderColor: '#3a3a5c'
+            }}>
+                <Carousel
+                    dots={false}
+                    arrows={true}
+                    style={{ width: '100%', maxWidth: 800, margin: '0 auto' }}
+                >
+                    {planetList.map((item) => (
+                        <div key={item.planetId} style={{ textAlign: 'center', padding: '0 40px' }}>
+                            <div style={{ marginBottom: 16 }}>
+                                <img
+                                    src={`/images/planets/${item.filename}.gif`}
+                                    alt={item.name}
+                                    style={{
+                                        width: 200,
+                                        height: 200,
+                                        borderRadius: '50%',
+                                        border: '2px solid #4a4a7a',
+                                        boxShadow: '0 0 15px #6a5acd',
+                                        marginTop: 16,
+                                        margin: '0 auto'
+                                    }}
+                                />
+                            </div>
+                            <div style={{
+                                color: '#a8b2d1',
+                                marginBottom: 16
+                            }}>
+                                <div style={{ fontSize: 18, fontWeight: 'bold' }}>{item.name}</div>
+                                <div style={{ margin: '8px 0' }}>{item.description}</div>
+                                <div>创建时间: {item.createTime}</div>
+                            </div>
+                            <Button
+                                type="primary"
+                                onClick={() => handleUpdateAvatar(item.planetId)}
+                                style={{
+                                    background: 'linear-gradient(45deg, #6a5acd, #9370db)',
+                                    border: 'none'
+                                }}
+                            >
+                                选择
+                            </Button>
+                        </div>
+                    ))}
+                </Carousel>
+            </Card>
+
+            <Card title="与你相关的人" style={{
+                marginTop: 24,
+                background: 'transparent',
+                borderColor: '#3a3a5c'
+            }}>
+                <Carousel
+                    dots={false}
+                    arrows={true}
+                    style={{ width: '100%', maxWidth: 800, margin: '0 auto' }}
+                >
+                    {relatedUsers.map((item) => (
+                        <div key={item.userId} style={{ textAlign: 'center', padding: '0 40px' }}>
+                            <div style={{ marginBottom: 16 }}>
+                                <img
+                                    src={`/images/planets/${item.planet.filename}.gif`}
+                                    alt={item.planet.name}
+                                    style={{
+                                        width: 200,
+                                        height: 200,
+                                        borderRadius: '50%',
+                                        border: '2px solid #4a4a7a',
+                                        boxShadow: '0 0 15px #6a5acd',
+                                        margin: '0 auto'
+                                    }}
+                                />
+                            </div>
+                            <div style={{
+                                color: '#a8b2d1',
+                                marginBottom: 16
+                            }}>
+                                <div style={{ fontSize: 18, fontWeight: 'bold' }}>昵称：{item.user.nickName}</div>
+                                <div style={{ margin: '8px 0' }}>邮箱：{item.user.email}</div>
+                                <div>星球形象：{item.planet.name}</div>
+                            </div>
+                            <Button
+                                type="primary"
+                                onClick={() => showUserDetails(item.user)}
+                                style={{
+                                    background: 'linear-gradient(45deg, #6a5acd, #9370db)',
+                                    border: 'none'
+                                }}
+                            >
+                                查看详情
+                            </Button>
+                        </div>
+                    ))}
+                </Carousel>
+            </Card>
+
+            <Modal
+                title="用户详情"
+                visible={userModalVisible}
+                onCancel={() => setUserModalVisible(false)}
+                footer={null}
+                style={{ color: '#a8b2d1' }}
+            >
+                {selectedUser && (
+                    <div>
+                        <p>昵称: {selectedUser.nickName}</p>
+                        <p>邮箱: {selectedUser.email}</p>
+                        <p>电话: {selectedUser.phonenumber}</p>
+
+                    </div>
+                )}
+            </Modal>
+        </div>
+    );
+};
+
+export default RelationPage;
\ No newline at end of file
diff --git a/src/pages/System/User/index.tsx b/src/pages/System/User/index.tsx
index 6435787..5042208 100644
--- a/src/pages/System/User/index.tsx
+++ b/src/pages/System/User/index.tsx
@@ -1,4 +1,3 @@
-
 import React, { useState, useRef, useEffect } from 'react';
 import { useIntl, FormattedMessage, useAccess } from '@umijs/max';
 import { Card, Col, Dropdown, FormInstance, Row, Space, Switch } from 'antd';
@@ -257,7 +256,7 @@
           icon=<EditOutlined />
           hidden={!access.hasPerms('system:user:edit')}
           onClick={async () => {
-            fetchUserInfo(record.userId);
+            await fetchUserInfo(record.userId);
             const treeData = await getDeptTree({});
             setDeptTree(treeData);
             setModalVisible(true);
@@ -283,7 +282,7 @@
                 const success = await handleRemoveOne(record);
                 if (success) {
                   if (actionRef.current) {
-                    actionRef.current.reload();
+                    actionRef.current?.reload();
                   }
                 }
               },
@@ -499,7 +498,7 @@
             setModalVisible(false);
             setCurrentRow(undefined);
             if (actionRef.current) {
-              actionRef.current.reload();
+              actionRef.current?.reload();
             }
           }
         }}
diff --git a/src/pages/User/Center/index.tsx b/src/pages/User/Center/index.tsx
index 2ce308c..8622219 100644
--- a/src/pages/User/Center/index.tsx
+++ b/src/pages/User/Center/index.tsx
@@ -38,11 +38,11 @@
 export type tabKeyType = 'base' | 'password';
 
 const Center: React.FC = () => {
-  
+
   const [tabKey, setTabKey] = useState<tabKeyType>('base');
-  
+
   const [cropperModalOpen, setCropperModalOpen] = useState<boolean>(false);
-  
+
   //  获取用户信息
   const { data: userInfo, loading } = useRequest(async () => {
     return { data: await getUserInfo()};
@@ -188,7 +188,7 @@
       </Row>
       <AvatarCropper
         onFinished={() => {
-          setCropperModalOpen(false);     
+          setCropperModalOpen(false);
         }}
         open={cropperModalOpen}
         data={currentUser.avatar}
diff --git a/src/pages/User/Login/index.tsx b/src/pages/User/Login/index.tsx
index 585f97b..e29032e 100644
--- a/src/pages/User/Login/index.tsx
+++ b/src/pages/User/Login/index.tsx
@@ -85,7 +85,7 @@
 };
 
 const Login: React.FC = () => {
-  const [userLoginState, setUserLoginState] = useState<API.LoginResult>({code: 200});
+  const [userLoginState, setUserLoginState] = useState<API.LoginResult>({ code: 200 });
   const [type, setType] = useState<string>('account');
   const { initialState, setInitialState } = useModel('@@initialState');
   const [captchaCode, setCaptchaCode] = useState<string>('');
@@ -255,7 +255,7 @@
           }
           subTitle={
             <span style={{ color: '#b3c7f9', fontSize: 16 }}>
-              探索你的专属星球，畅享PT世界
+              探索你的专属星球，畅享PT世界  JRX MSY ZYT HXQ LJB
             </span>
           }
           initialValues={{
@@ -509,7 +509,7 @@
                   color: '#fff',
                   fontSize: 14,
                 }}>
-              <FormattedMessage id="pages.login.rememberMe"  defaultMessage="自动登录" />
+                <FormattedMessage id="pages.login.rememberMe" defaultMessage="自动登录" />
               </a>
             </ProFormCheckbox>
             <a
diff --git a/src/services/planets/api.ts b/src/services/planets/api.ts
new file mode 100644
index 0000000..4c443d3
--- /dev/null
+++ b/src/services/planets/api.ts
@@ -0,0 +1,79 @@
+import { request } from '@umijs/max';
+
+export interface PlanetEntity {
+    planetId?: number;
+    name?: string;
+    filename?: string;
+    description?: string;
+    createTime?: string;
+}
+
+export interface UserPlanetEntity {
+    userId?: number;
+    planetId?: number;
+    updateTime?: string;
+}
+
+export async function getPlanetList(params: {
+    pageNum?: number;
+    pageSize?: number;
+}) {
+    const res = await request<{ code: number; data: PlanetEntity[] }>('/api/planets/list', {
+        method: 'GET',
+        params,
+    });
+    return res.data;
+
+}
+
+export async function getPlanetInfo(params: { planetId: number | undefined; }): Promise<PlanetEntity> {
+    const res = await request<{ code: number; data: PlanetEntity }>(`/api/planets/info/${params.planetId}`, {
+        method: 'GET',
+    });
+    return res.data;
+}
+
+export async function uploadPlanetFile(file: File) {
+    const formData = new FormData();
+    formData.append('file', file);
+    return request('/api/planets/upload', {
+        method: 'POST',
+        data: formData,
+        requestType: 'form',
+    });
+}
+
+export async function getUserPlanet(params: { userId: number }) {
+    const res = await request<{ code: number; data: UserPlanetEntity }>('/api/planets/user', {
+        method: 'GET',
+        params,
+    });
+    return res.data;
+}
+
+export async function updatePlanet(entity: PlanetEntity) {
+    return request('/api/planets/update', {
+        method: 'POST',
+        data: entity,
+    });
+}
+export async function updateUserPlanet(entity: UserPlanetEntity) {
+    return request('/api/planets/updateUserPlanet', {
+        method: 'POST',
+        data: entity,
+    });
+}
+
+export async function deletePlanet(ids: number[]) {
+    return request('/api/planets/delete', {
+        method: 'POST',
+        data: ids,
+    });
+}
+
+export async function getRandomUserPlanets() {
+    const res = await request<{ code: number; data: UserPlanetEntity[] }>('/api/planets/random', {
+        method: 'GET',
+    })
+    return res.data;
+}
\ No newline at end of file
diff --git a/src/services/typings.d.ts b/src/services/typings.d.ts
index 468320e..0dd8b19 100644
--- a/src/services/typings.d.ts
+++ b/src/services/typings.d.ts
@@ -3,6 +3,9 @@
 
 declare namespace API {
 
+  import Dept = API.System.Dept;
+  import Role = API.System.Role;
+
   interface PageInfo {
     current?: number;
     pageSize?: number;
