@charset "UTF-8";.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#fafafa;padding:24px}.login-container .login-card{width:900px;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000001a}.login-container .login-card .ant-card-body{padding:0;height:500px}.login-container .login-layout{display:flex;height:100%}.login-container .login-bg-side{width:50%;background-size:cover;background-position:center;position:relative}.login-container .login-bg-side .bg-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#7e57c2b3;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;color:#fff}.login-container .login-bg-side .bg-overlay h2{font-size:28px;margin-bottom:16px;text-align:center}.login-container .login-bg-side .bg-overlay p{font-size:16px;opacity:.9;text-align:center}.login-container .login-form-side{width:50%;display:flex;justify-content:center;align-items:center;background:#fff}.login-container .login-form-side .form-container{width:80%;max-width:320px}.login-container .login-form-side .form-container .form-title{text-align:center;margin-bottom:30px;color:#7e57c2;font-size:22px}.login-container .login-form-side .form-container .ant-input-affix-wrapper{padding:12px 15px;border-radius:8px}.login-container .login-form-side .form-container .ant-input-prefix{color:#00000040}.login-container .login-form-side .form-container .ant-btn-primary{height:48px;font-size:16px;border-radius:8px;background:#7e57c2;border-color:#7e57c2}.login-container .login-form-side .form-container .ant-btn-primary:hover{background:#9575cd;border-color:#9575cd}.login-container .login-form-side .form-container .ant-btn-primary:active{background:#673ab7;border-color:#673ab7}.login-container .login-form-side .form-container .other-login{display:flex;justify-content:space-between;margin-top:16px}.login-container .login-form-side .form-container .other-login .ant-btn{color:#7e57c2}@media (max-width: 768px){.login-container .login-card{width:100%;height:auto}.login-container .login-card .ant-card-body{height:auto}.login-container .login-bg-side{display:none}.login-container .login-form-side{width:100%;padding:40px 20px}.login-container .login-form-side .form-container{width:100%}}.home-page .dashboard-card{box-shadow:0 4px 12px #0000000d;transition:all .3s ease;height:100%;border:none}.home-page .dashboard-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #00000014}.home-page .dashboard-card .ant-card-head{border-bottom:1px solid #f0f0f0;min-height:auto;padding:0 20px;background-color:#7e57c20d}.home-page .dashboard-card .ant-card-head .ant-card-head-title{padding:16px 0}.home-page .dashboard-card .ant-card-body{padding:20px}.home-page .project-features{padding-left:20px;margin-top:10px}.home-page .project-features li{margin-bottom:8px;position:relative}.home-page .project-features li:before{content:"•";position:absolute;left:-15px;color:#7e57c2;font-weight:700}.home-page .repo-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.home-page .repo-buttons .repo-button{background:#7e57c21a;color:#7e57c2;border:none;transition:all .3s ease}.home-page .repo-buttons .repo-button:hover{background:#7e57c2;color:#fff}.home-page .repo-stats{display:flex;justify-content:center;gap:20px;margin-top:10px;padding:10px;background:#f9f9f9;border-radius:8px}.home-page .tech-stack{display:flex;flex-wrap:wrap;gap:10px}.home-page .tech-stack .tech-tag{background:#7e57c21a;color:#7e57c2;border:none;padding:6px 12px;border-radius:20px;font-size:14px;display:flex;align-items:center;transition:all .3s ease}.home-page .tech-stack .tech-tag:hover{background:#7e57c2;color:#fff}.home-page .tech-stack .tech-tag .anticon{margin-right:6px}.home-page .changelog-item{padding:10px 0}.home-page .changelog-item .changelog-list{padding-left:20px;margin-top:8px}.home-page .changelog-item .changelog-list li{margin-bottom:6px;position:relative}.home-page .changelog-item .changelog-list li:before{content:"•";position:absolute;left:-15px;color:#7e57c2;font-weight:700}.home-page .donation-container{display:flex;flex-direction:column;align-items:center}.home-page .donation-container .qrcode-placeholder{width:160px;height:160px;background:#7e57c20d;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.home-page .donation-container .qrcode-placeholder .qrcode-icon{font-size:48px}@media (max-width: 768px){.home-page{padding:16px}.home-page .main-content .ant-col-md-16,.home-page .main-content .ant-col-md-8{max-width:100%;flex:0 0 100%}}.profile-page .full-height-row{height:100%}.profile-page .full-height-row .card-col{height:100%;display:flex;flex-direction:column}@media (max-width: 768px){.profile-page .full-height-row .card-col{margin-bottom:24px}}.profile-page .profile-card,.profile-page .detail-card{height:100%;display:flex;flex-direction:column;border-radius:8px}.profile-page .profile-card .ant-card-body,.profile-page .detail-card .ant-card-body{flex:1;display:flex;flex-direction:column;padding:24px}.profile-page .profile-title,.profile-page .detail-title{margin-bottom:24px;color:#000000d9}.profile-page .avatar-section{display:flex;justify-content:center;margin-bottom:24px}.profile-page .avatar-section .avatar-upload{position:relative;cursor:pointer}.profile-page .avatar-section .avatar-upload .avatar-upload-mask{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:#00000080;opacity:0;border-radius:50%;transition:opacity .3s}.profile-page .avatar-section .avatar-upload .avatar-upload-mask:hover{opacity:1}.profile-page .profile-summary{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.profile-page .profile-summary .nickname-section{margin-bottom:32px}.profile-page .detail-card .ant-form{flex:1;display:flex;flex-direction:column}.profile-page .detail-card .detail-form-item{margin-bottom:16px}.profile-page .detail-card .detail-form-item .ant-form-item-label{font-weight:500}@media (max-width: 768px){.profile-page,.profile-page .full-height-row{height:auto}}*{padding:0;margin:0}.ant-pro-page-container-children-container-no-header{padding-block-start:0!important}.ant-pro-page-container-children-container{padding-block-end:0!important;padding-inline:0!important}.w-full{width:100%!important}.h-full{height:100%!important}.flex{display:flex}.flex-column{display:flex;flex-direction:column}.align-center{align-items:center}.justify-center{justify-content:center}.space-between{justify-content:space-between}.grow{flex-grow:1}.flex-row-reverse{flex-direction:row-reverse}.line-height-10{line-height:10px}.line-height-11{line-height:11px}.line-height-12{line-height:12px}.line-height-13{line-height:13px}.line-height-14{line-height:14px}.line-height-15{line-height:15px}.line-height-16{line-height:16px}.line-height-17{line-height:17px}.line-height-18{line-height:18px}.line-height-19{line-height:19px}.line-height-20{line-height:20px}.line-height-21{line-height:21px}.line-height-22{line-height:22px}.line-height-23{line-height:23px}.line-height-24{line-height:24px}.line-height-25{line-height:25px}.line-height-26{line-height:26px}.line-height-27{line-height:27px}.line-height-28{line-height:28px}.line-height-29{line-height:29px}.line-height-30{line-height:30px}.line-height-31{line-height:31px}.line-height-32{line-height:32px}.line-height-33{line-height:33px}.line-height-34{line-height:34px}.line-height-35{line-height:35px}.line-height-36{line-height:36px}.line-height-37{line-height:37px}.line-height-38{line-height:38px}.line-height-39{line-height:39px}.line-height-40{line-height:40px}.line-height-41{line-height:41px}.line-height-42{line-height:42px}.line-height-43{line-height:43px}.line-height-44{line-height:44px}.line-height-45{line-height:45px}.line-height-46{line-height:46px}.line-height-47{line-height:47px}.line-height-48{line-height:48px}.line-height-49{line-height:49px}.line-height-50{line-height:50px}.line-height-51{line-height:51px}.line-height-52{line-height:52px}.line-height-53{line-height:53px}.line-height-54{line-height:54px}.line-height-55{line-height:55px}.line-height-56{line-height:56px}.line-height-57{line-height:57px}.line-height-58{line-height:58px}.line-height-59{line-height:59px}.line-height-60{line-height:60px}.line-height-61{line-height:61px}.line-height-62{line-height:62px}.line-height-63{line-height:63px}.line-height-64{line-height:64px}.line-height-65{line-height:65px}.line-height-66{line-height:66px}.line-height-67{line-height:67px}.line-height-68{line-height:68px}.line-height-69{line-height:69px}.line-height-70{line-height:70px}.line-height-71{line-height:71px}.line-height-72{line-height:72px}.line-height-73{line-height:73px}.line-height-74{line-height:74px}.line-height-75{line-height:75px}.line-height-76{line-height:76px}.line-height-77{line-height:77px}.line-height-78{line-height:78px}.line-height-79{line-height:79px}.line-height-80{line-height:80px}.line-height-81{line-height:81px}.line-height-82{line-height:82px}.line-height-83{line-height:83px}.line-height-84{line-height:84px}.line-height-85{line-height:85px}.line-height-86{line-height:86px}.line-height-87{line-height:87px}.line-height-88{line-height:88px}.line-height-89{line-height:89px}.line-height-90{line-height:90px}.line-height-91{line-height:91px}.line-height-92{line-height:92px}.line-height-93{line-height:93px}.line-height-94{line-height:94px}.line-height-95{line-height:95px}.line-height-96{line-height:96px}.line-height-97{line-height:97px}.line-height-98{line-height:98px}.line-height-99{line-height:99px}.line-height-100{line-height:100px}.mb-1{margin-bottom:10px}.mb-2{margin-bottom:20px}.mb-3{margin-bottom:30px}.mb-4{margin-bottom:40px}.mb-5{margin-bottom:50px}.mb-6{margin-bottom:60px}.mb-7{margin-bottom:70px}.mb-8{margin-bottom:80px}.mb-9{margin-bottom:90px}.mb-10{margin-bottom:100px}.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:30px}.mt-4{margin-top:40px}.mt-5{margin-top:50px}.mt-6{margin-top:60px}.mt-7{margin-top:70px}.mt-8{margin-top:80px}.mt-9{margin-top:90px}.mt-10{margin-top:100px}.ml-1{margin-left:1px}.ml-2{margin-left:2px}.ml-3{margin-left:3px}.ml-4{margin-left:4px}.ml-5{margin-left:5px}.ml-6{margin-left:6px}.ml-7{margin-left:7px}.ml-8{margin-left:8px}.ml-9{margin-left:9px}.ml-10{margin-left:10px}.ml-11{margin-left:11px}.ml-12{margin-left:12px}.ml-13{margin-left:13px}.ml-14{margin-left:14px}.ml-15{margin-left:15px}.ml-16{margin-left:16px}.ml-17{margin-left:17px}.ml-18{margin-left:18px}.ml-19{margin-left:19px}.ml-20{margin-left:20px}.ml-21{margin-left:21px}.ml-22{margin-left:22px}.ml-23{margin-left:23px}.ml-24{margin-left:24px}.ml-25{margin-left:25px}.ml-26{margin-left:26px}.ml-27{margin-left:27px}.ml-28{margin-left:28px}.ml-29{margin-left:29px}.ml-30{margin-left:30px}.ml-31{margin-left:31px}.ml-32{margin-left:32px}.ml-33{margin-left:33px}.ml-34{margin-left:34px}.ml-35{margin-left:35px}.ml-36{margin-left:36px}.ml-37{margin-left:37px}.ml-38{margin-left:38px}.ml-39{margin-left:39px}.ml-40{margin-left:40px}.ml-41{margin-left:41px}.ml-42{margin-left:42px}.ml-43{margin-left:43px}.ml-44{margin-left:44px}.ml-45{margin-left:45px}.ml-46{margin-left:46px}.ml-47{margin-left:47px}.ml-48{margin-left:48px}.ml-49{margin-left:49px}.ml-50{margin-left:50px}.ml-51{margin-left:51px}.ml-52{margin-left:52px}.ml-53{margin-left:53px}.ml-54{margin-left:54px}.ml-55{margin-left:55px}.ml-56{margin-left:56px}.ml-57{margin-left:57px}.ml-58{margin-left:58px}.ml-59{margin-left:59px}.ml-60{margin-left:60px}.ml-61{margin-left:61px}.ml-62{margin-left:62px}.ml-63{margin-left:63px}.ml-64{margin-left:64px}.ml-65{margin-left:65px}.ml-66{margin-left:66px}.ml-67{margin-left:67px}.ml-68{margin-left:68px}.ml-69{margin-left:69px}.ml-70{margin-left:70px}.ml-71{margin-left:71px}.ml-72{margin-left:72px}.ml-73{margin-left:73px}.ml-74{margin-left:74px}.ml-75{margin-left:75px}.ml-76{margin-left:76px}.ml-77{margin-left:77px}.ml-78{margin-left:78px}.ml-79{margin-left:79px}.ml-80{margin-left:80px}.ml-81{margin-left:81px}.ml-82{margin-left:82px}.ml-83{margin-left:83px}.ml-84{margin-left:84px}.ml-85{margin-left:85px}.ml-86{margin-left:86px}.ml-87{margin-left:87px}.ml-88{margin-left:88px}.ml-89{margin-left:89px}.ml-90{margin-left:90px}.ml-91{margin-left:91px}.ml-92{margin-left:92px}.ml-93{margin-left:93px}.ml-94{margin-left:94px}.ml-95{margin-left:95px}.ml-96{margin-left:96px}.ml-97{margin-left:97px}.ml-98{margin-left:98px}.ml-99{margin-left:99px}.ml-100{margin-left:100px}.mr-1{margin-right:1px}.mr-2{margin-right:2px}.mr-3{margin-right:3px}.mr-4{margin-right:4px}.mr-5{margin-right:5px}.mr-6{margin-right:6px}.mr-7{margin-right:7px}.mr-8{margin-right:8px}.mr-9{margin-right:9px}.mr-10{margin-right:10px}.mr-11{margin-right:11px}.mr-12{margin-right:12px}.mr-13{margin-right:13px}.mr-14{margin-right:14px}.mr-15{margin-right:15px}.mr-16{margin-right:16px}.mr-17{margin-right:17px}.mr-18{margin-right:18px}.mr-19{margin-right:19px}.mr-20{margin-right:20px}.mr-21{margin-right:21px}.mr-22{margin-right:22px}.mr-23{margin-right:23px}.mr-24{margin-right:24px}.mr-25{margin-right:25px}.mr-26{margin-right:26px}.mr-27{margin-right:27px}.mr-28{margin-right:28px}.mr-29{margin-right:29px}.mr-30{margin-right:30px}.mr-31{margin-right:31px}.mr-32{margin-right:32px}.mr-33{margin-right:33px}.mr-34{margin-right:34px}.mr-35{margin-right:35px}.mr-36{margin-right:36px}.mr-37{margin-right:37px}.mr-38{margin-right:38px}.mr-39{margin-right:39px}.mr-40{margin-right:40px}.mr-41{margin-right:41px}.mr-42{margin-right:42px}.mr-43{margin-right:43px}.mr-44{margin-right:44px}.mr-45{margin-right:45px}.mr-46{margin-right:46px}.mr-47{margin-right:47px}.mr-48{margin-right:48px}.mr-49{margin-right:49px}.mr-50{margin-right:50px}.mr-51{margin-right:51px}.mr-52{margin-right:52px}.mr-53{margin-right:53px}.mr-54{margin-right:54px}.mr-55{margin-right:55px}.mr-56{margin-right:56px}.mr-57{margin-right:57px}.mr-58{margin-right:58px}.mr-59{margin-right:59px}.mr-60{margin-right:60px}.mr-61{margin-right:61px}.mr-62{margin-right:62px}.mr-63{margin-right:63px}.mr-64{margin-right:64px}.mr-65{margin-right:65px}.mr-66{margin-right:66px}.mr-67{margin-right:67px}.mr-68{margin-right:68px}.mr-69{margin-right:69px}.mr-70{margin-right:70px}.mr-71{margin-right:71px}.mr-72{margin-right:72px}.mr-73{margin-right:73px}.mr-74{margin-right:74px}.mr-75{margin-right:75px}.mr-76{margin-right:76px}.mr-77{margin-right:77px}.mr-78{margin-right:78px}.mr-79{margin-right:79px}.mr-80{margin-right:80px}.mr-81{margin-right:81px}.mr-82{margin-right:82px}.mr-83{margin-right:83px}.mr-84{margin-right:84px}.mr-85{margin-right:85px}.mr-86{margin-right:86px}.mr-87{margin-right:87px}.mr-88{margin-right:88px}.mr-89{margin-right:89px}.mr-90{margin-right:90px}.mr-91{margin-right:91px}.mr-92{margin-right:92px}.mr-93{margin-right:93px}.mr-94{margin-right:94px}.mr-95{margin-right:95px}.mr-96{margin-right:96px}.mr-97{margin-right:97px}.mr-98{margin-right:98px}.mr-99{margin-right:99px}.mr-100{margin-right:100px}.fancyx-table-wrapper .ant-table-cell .ant-btn-link{padding-left:0!important;padding-right:0!important;gap:0!important}.fancyx-table-wrapper .right-operation-toolbar button{padding:0!important}.fancyx-layout .fancyx-sidebar{min-height:100vh}.fancyx-layout .sidebar-header{height:50px;padding:0 20px;background:linear-gradient(135deg,#7e57c2,#9575cd);display:flex;align-items:center;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000001a}.fancyx-layout .sidebar-header:after{content:"";position:absolute;right:-30px;top:-30px;width:80px;height:80px;background:#ffffff14;border-radius:50%}.fancyx-layout .sidebar-header h2{margin:0;color:#fff;font-size:18px;font-weight:500;display:flex;align-items:center;width:100%;white-space:nowrap}.fancyx-layout .sidebar-header h2 .header-icon{font-size:22px;margin-right:10px;flex-shrink:0}.fancyx-layout .sidebar-header h2 .header-icon-center{margin:0 auto}.fancyx-layout .sidebar-header:hover:after{transform:scale(1.1);transition:transform .3s ease}.fancyx-layout .fancyx-navbar{border-bottom:1px solid #f0f0f0;background-color:#fff}.fancyx-layout .fancyx-navbar button.ant-btn{height:50px!important;border-radius:0!important}.fancyx-layout .fancyx-navbar .fancyx-navbar-breadcrumb-wrapper nav{line-height:50px!important}.fancyx-layout .fancyx-navbar .fancyx-navbar-right-wrapper button.ant-btn{padding-left:10px!important;padding-right:10px!important}.fancyx-layout .fancyx-tabs{background-color:#fff}.fancyx-layout main{padding:15px;background-color:#f5f5f5}.ant-menu-item{transition:all .2s cubic-bezier(.4,0,.2,1)}.ant-menu-item:hover{background:#f5f3ff!important}.ant-menu-item:hover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#7e57c2}.ant-menu-item-selected{background:#ede7f6!important;color:#7e57c2!important;font-weight:500}.ant-btn-primary{box-shadow:0 2px 6px #7e57c24d;transition:all .3s}.ant-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7e57c266}.ant-btn-primary:active{transform:translateY(0);box-shadow:0 2px 4px #7e57c24d}.icon-info:hover{color:#000}
