body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}*,body{margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.global-loading{margin:40px auto}input{border:none;border-radius:4px;display:inline-block;height:40px;text-indent:10px}#homePage{box-sizing:border-box;height:100vh;max-height:-webkit-fill-available;padding:15px;position:relative;width:100vw}#homePage *{touch-action:none}#homePage .main{display:flex;flex-direction:column;height:100%;max-width:540px;position:relative;width:100%}#homePage .main header{color:#fff;display:flex;flex:1 1}#homePage .main header .logo{align-items:center;display:flex;justify-content:center;padding:0 10px;width:30%}#homePage .main header .logo img{height:auto;max-width:100%}#homePage .placeholder{align-items:center;color:var(--primary-color);display:flex;height:100%;justify-content:center;text-shadow:1px 1px 0 #fff6}#homePage .basicinfo{background-color:var(--layer-color);border-radius:20px;box-shadow:0 4px 10px 0 #0000004d;display:flex;gap:12px;margin-bottom:15px;padding:12px}#homePage .basicinfo .preview{aspect-ratio:162/258;border-radius:8px;font-size:0;overflow:hidden;width:45%}#homePage .basicinfo .preview img{border:0;height:100%;object-fit:cover;width:100%}#homePage .basicinfo .info{display:flex;flex:1 1;flex-direction:column;gap:10px}#homePage .basicinfo .info .level{align-items:center;display:flex;justify-content:space-between}#homePage .basicinfo .info .level .level-text{color:var(--primary-color);font-family:MaShanZheng;font-size:24px;font-weight:700}#homePage .basicinfo .info .level .tip{color:var(--link-color);font-size:12px;text-decoration:underline}#homePage .basicinfo .info .experience{position:relative}#homePage .basicinfo .info .experience .progress-bar{background-color:var(--text-color);height:12px;width:100%}#homePage .basicinfo .info .experience .progress-bar .progress{background-color:var(--primary-color);height:100%}#homePage .basicinfo .info .experience .experience-info{box-sizing:border-box;color:var(--accent-color);font-size:10px;height:12px;left:0;line-height:12px;padding:0 5px;position:absolute;top:0;width:100%}#homePage .basicinfo .info .stats{display:flex;flex:1 1;flex-direction:column;gap:12px}#homePage .basicinfo .info .stats .stat-item{align-items:center;display:flex;justify-content:space-between}#homePage .basicinfo .info .stats .stat-item .stat-label{align-items:center;color:var(--text-color);display:flex;font-size:12px}#homePage .basicinfo .info .stats .stat-item .stat-label:before{background-color:var(--text-color);border-radius:50%;content:" ";display:inline-block;height:6px;margin-right:3px;opacity:.8;width:6px}#homePage .basicinfo .info .stats .stat-item .stat-value{color:var(--primary-color);font-size:18px}#homePage .basicinfo .info .link{font-size:12px;text-align:right}#homePage .basicinfo .info .link a{color:var(--link-color);text-decoration:underline}#homePage .cardDetail{background-color:var(--layer-color);border-radius:20px;box-shadow:0 4px 10px 0 #0000004d;padding:12px}#homePage .cardDetail,#homePage .cardDetail .stats{display:flex;flex-direction:column;gap:12px}#homePage .cardDetail .stats .stat-item{color:var(--text-color);display:flex;font-size:12px;line-height:18px}#homePage .cardDetail .stats .stat-item .stat-label{width:60px}#homePage .cardDetail .stats .stat-item .stat-value{flex:1 1;font-size:14px}#homePage .cardDetail .stats .stat-item .stat-value.name{color:var(--primary-color);font-family:MaShanZheng;font-size:18px}#homePage .cardDetail .stats .stat-item .stat-value.customname{color:var(--primary-color);font-size:18px}#homePage .cardDetail .stats .stat-item .stat-value.customname .edit{color:var(--link-color);font-size:12px;margin-left:10px;text-decoration:underline}#homePage .buttons{margin-top:30px;text-align:center}#homePage .buttons .checkin{background-color:var(--primary-color);border-radius:5px;box-shadow:0 4px 10px 0 #0000004d;color:var(--accent-color);display:inline-block;height:40px;line-height:40px;margin-bottom:15px;text-align:center;width:100px}#homePage .buttons .checkin:active{box-shadow:none}#homePage .buttons .checkin.checked{background-color:#aaa;box-shadow:none;color:#ddd;pointer-events:none}#homePage .buttons .linktocards{font-size:12px}#homePage .buttons .linktocards a{color:var(--link-color);text-decoration:underline}@keyframes shake{0%{transform:rotate(0deg)}25%{transform:rotate(2deg)}50%{transform:rotate(0eg)}75%{transform:rotate(-2deg)}to{transform:rotate(0deg)}}@keyframes blink{0%{opacity:1}50%{opacity:.3}to{opacity:1}}.bottom-nav{background-color:var(--layer-color);bottom:0;box-shadow:0 -2px 10px #0000001a;font-family:MaShanZheng,sans-serif;font-size:18px;height:3.5rem;justify-content:space-around;left:0;position:fixed;right:0;z-index:1000}.bottom-nav,.nav-item{align-items:center;display:flex}.nav-item{cursor:pointer;flex:1 1;flex-direction:column;height:100%;justify-content:center;transition:all .3s}.nav-item.active .nav-label{color:var(--primary-color);font-weight:500}.nav-label{color:var(--text-color);font-size:18px;transition:color .3s}.events-page{padding:15px}.events-page .content{margin:0 auto;max-width:1200px;padding-bottom:60px;position:relative}.events-page .tabs{border-radius:8px 8px 0 0;box-shadow:0 1px 2px #00000008;display:flex}.events-page .tabs .tab{background:none;background:#d8d8d8;border:none;border-radius:20px 20px 0 0;color:var(--text-color);cursor:pointer;font-family:MaShanZheng,sans-serif;font-size:16px;padding:12px 24px;position:relative;transition:all .3s}.events-page .tabs .tab.active{background:var(--layer-color);box-shadow:0 4px 10px 0 #0000004d;color:var(--primary-color);font-weight:500;z-index:100}.events-page .tabs .tab.active:after{background:var(--primary-color);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%}.events-page .tab-content{background:var(--layer-color);border-radius:0 20px 20px 20px;box-shadow:0 4px 10px 0 #0000004d;position:relative;z-index:101}.events-page .event-card{align-items:center;display:flex;gap:16px;overflow:hidden;padding:16px;position:relative}.events-page .event-card:after{border-bottom:.5px solid #d9d6c0;border-top:.5px solid #9c9874;bottom:0;content:"";display:block;left:0;margin:0 16px;position:absolute;right:0}.events-page .event-card:last-of-type:after{display:none}.events-page .event-card .event-cover{border-radius:8px;height:64px;overflow:hidden;width:64px}.events-page .event-card .event-cover img{height:100%;object-fit:cover;width:100%}.events-page .event-card .tag{box-shadow:0 4px 10px 0 #0000004d;color:var(--layer-color);font-size:10px;padding:4px 8px;position:absolute;right:-40px;text-align:center;top:0;transform:rotate(45deg) translateY(15px);transform-origin:center center;width:80px}.events-page .event-card .tag.success{background:#9b004e}.events-page .event-card .tag.failed{background:#1e212b}.events-page .event-card .event-content{width:100%}.events-page .event-card .event-content .event-logo{flex:1 1;height:40px;position:relative;width:100%}.events-page .event-card .event-content .event-logo .team-logo{background:#000}.events-page .event-card .event-content .event-title{font-size:14px;font-weight:500;margin:0 0 10px}.events-page .event-card .event-content .event-info .info-item{align-items:center;color:var(--text-color);display:flex;font-size:12px;margin-bottom:8px}.events-page .event-card .event-content .event-info .info-item .icon{font-size:16px;margin-right:8px}.events-page .event-card .event-content .event-info .info-item .progress-bar{background:var(--text-color);height:13px;overflow:hidden;position:relative;width:100%}.events-page .event-card .event-content .event-info .info-item .progress-bar .progress-text{color:#fff;font-size:8px;left:0;line-height:13px;padding:0 4px;position:absolute;top:0}.events-page .event-card .event-content .event-info .info-item .progress-bar .progress-fill{background:var(--primary-color);height:100%}.events-page .empty-state{color:#999;padding:48px 0;text-align:center}.events-page .empty-state p{font-size:16px;margin:0}.event-detail-page{padding:16px 16px 100px}.event-detail-page .error,.event-detail-page .global-loading{color:#999;font-size:16px;padding:48px 0;text-align:center}.event-detail-page .back-button{color:#1890ff;color:#000;cursor:pointer;display:inline-block;font-family:MaShanZheng,sans-serif;font-size:16px;margin-bottom:16px;transition:all .3s}.event-detail-page .content{aspect-ratio:1.1/1.5;background-color:var(--layer-color);border-radius:8px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));margin:0 auto;max-width:800px;overflow:hidden;position:relative}.event-detail-page .content .tag{box-shadow:0 4px 10px 0 #0000004d;color:var(--layer-color);font-size:10px;padding:4px 8px;position:absolute;right:-40px;text-align:center;top:0;transform:rotate(45deg) translateY(15px);transform-origin:center center;width:80px}.event-detail-page .content .tag.status-success{background:#9b004e}.event-detail-page .content .tag.status-failed{background:#1e212b}.event-detail-page .content .tag.status-in_progress{background:#52c41a;color:#fff}.event-detail-page .content .event-cover{border-radius:8px;font-size:0;height:100%;left:0;margin-bottom:16px;overflow:hidden;position:absolute;top:0;width:100%}.event-detail-page .content .event-cover img{border-radius:8px;width:100%}.event-detail-page .content .event-info{background:#d5cf9f;border-radius:0 0 8px 8px;border-top:2px solid #fff;bottom:0;box-sizing:border-box;color:var(--text-color);font-size:12px;left:0;padding:10px 16px;position:absolute;width:100%}.event-detail-page .content .event-info .event-title{color:var(--primary-color);font-size:16px}.event-detail-page .content .event-info .info-section{display:flex;margin-bottom:5px}.event-detail-page .content .event-info .info-section .title{min-width:70px}.event-detail-page .content .event-info .info-section:last-child{margin-bottom:0}.event-detail-page .content .event-info .info-section .info-item{color:var(--text-color);font-size:13px;font-weight:700;margin-bottom:12px}.event-detail-page .content .event-info .info-section .info-item:last-child{margin-bottom:0}.event-detail-page .content .event-info .info-section .info-item .achievement-item,.event-detail-page .content .event-info .info-section .info-item .team-item{display:inline-block}.event-detail-page .content .event-info .info-section .info-item .achievement-item:after,.event-detail-page .content .event-info .info-section .info-item .team-item:after{content:", ";margin-right:10px}.event-detail-page .content .event-info .info-section .info-item .achievement-item:last-of-type:after,.event-detail-page .content .event-info .info-section .info-item .team-item:last-of-type:after{display:none}.event-detail-page .content .event-info .achievements-list,.event-detail-page .content .event-info .teams-list{display:flex;flex-wrap:wrap;gap:12px}.event-detail-page .event-header{margin-bottom:32px}.event-detail-page .event-header .event-title{color:#333;font-size:24px;font-weight:500;margin:0 0 16px}.event-detail-page .event-header .event-tags{display:flex;gap:8px}.event-detail-page .event-header .event-tags .tag{border-radius:4px;color:#fff;font-size:14px;padding:4px 12px}.event-detail-page .event-header .event-tags .tag.status-in_progress{background:#52c41a}.event-detail-page .event-header .event-tags .tag.status-success{background:#1890ff}.event-detail-page .event-header .event-tags .tag.status-failed{background:#ff4d4f}.event-detail-page .event-header .event-tags .tag.level{background:#722ed1}.event-detail-page .participate-section{margin-top:24px;padding:16px;text-align:center}.event-detail-page .participate-section .participate-button{background-color:var(--primary-color);border-radius:5px;box-shadow:0 4px 10px 0 #0000004d;color:var(--accent-color);display:inline-block;height:40px;line-height:40px;margin-bottom:15px;text-align:center;width:130px}.event-detail-page .participate-section .participate-button:active{box-shadow:none}.event-detail-page .participate-section .participate-button.checked{background-color:#aaa;box-shadow:none;color:#ddd;pointer-events:none}.event-detail-page .participate-section .participate-button.loading{cursor:wait;opacity:.7}.event-detail-page .participate-section .event-ended-message,.event-detail-page .participate-section .participated-message{background-color:#aaa;border-radius:5px;box-shadow:none;color:#ddd;display:inline-block;height:40px;line-height:40px;pointer-events:none;width:120px}.event-detail-page .error-message{background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;color:#ff4d4f;margin-top:16px;padding:12px;text-align:center}.event-detail-page .progress-section{margin-bottom:16px;position:relative}.event-detail-page .progress-section .progress-bar{background:var(--text-color);height:20px;width:100%}.event-detail-page .progress-section .progress-bar .progress-fill{background:var(--primary-color);height:100%}.event-detail-page .progress-section .progress-text{color:#fff;font-size:12px;left:0;line-height:20px;padding-left:10px;position:absolute;top:0}.achievements-page{min-height:30vh}.achievements-page .archievement-title{font-family:MaShanZheng,sans-serif;font-size:24px;margin-top:20px;text-align:center}.achievements-page.loading{align-items:center;display:flex;justify-content:center}.achievements-page .content{margin:0 auto;max-width:1200px;perspective:1000px}.achievements-page .content h1{color:#333;margin-bottom:30px;text-align:center}.achievements-page .achievements-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);min-height:200px;padding:16px}.achievements-page .empty-state{align-items:center;display:flex;flex-direction:column;gap:16px;grid-column:1/-1;justify-content:center;padding:40px 20px;text-align:center}.achievements-page .empty-state .empty-title{color:#333;font-size:20px;font-weight:500;margin:0}.achievements-page .empty-state .empty-desc{color:#666;font-size:16px;margin:0}.achievements-page .achievement-card{aspect-ratio:1/1;border-radius:100%;cursor:pointer;overflow:hidden;position:relative;text-align:center;transform-style:preserve-3d;transition:all .5s cubic-bezier(.4,0,.2,1);will-change:transform;z-index:1}.achievements-page .achievement-card.expanded{box-shadow:0 4px 20px #0003;cursor:default;position:fixed;transition:all .8s cubic-bezier(.4,0,.2,1);width:200px;z-index:1001}.achievements-page .achievement-card.expanded:after{animation:fadeIn .3s forwards;background:#000c;bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;z-index:-1}.achievements-page .achievement-card.expanded .achievement-info{opacity:1;transform:translateY(0)}.achievements-page .achievement-card img{-webkit-backface-visibility:hidden;backface-visibility:hidden;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.4,0,.2,1);width:100%}.achievements-page .achievement-card .achievement-info{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#d5cf9fe6;border-bottom-left-radius:16px;border-bottom-right-radius:16px;bottom:0;left:0;opacity:0;padding:15px;position:absolute;right:0;transform:translateY(20px);transition:all .3s ease}.achievements-page .achievement-card .achievement-info h2{color:#333;font-size:18px;margin:0 0 8px}.achievements-page .achievement-card .achievement-info p{color:#666;font-size:14px;line-height:1.4;margin:0}.achievements-page .achievement-modal{animation:fadeIn .3s forwards;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;z-index:1000}@keyframes rotateAndScale{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.2)}to{transform:rotateY(1turn) scale(1.5)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.backrooms-team-cards-page{padding:16px}.backrooms-team-cards-page .back-button{color:#1890ff;cursor:pointer;display:inline-block;font-size:16px;margin-bottom:16px;transition:all .3s}.backrooms-team-cards-page .card-group{margin-bottom:24px}.backrooms-team-cards-page .card-group .group-header{border-bottom:1px solid var(--primary-color);color:var(--primary-color);font-family:MaShanZheng,sans-serif;font-size:16px;font-weight:500;padding-bottom:8px}.backrooms-team-cards-page .card-group .cards-scroll-container{-ms-overflow-style:none;display:flex;gap:10px;overflow-x:auto;padding:8px 0;scrollbar-width:none}.backrooms-team-cards-page .card-group .cards-scroll-container::-webkit-scrollbar{display:none}.backrooms-team-cards-page .card-group .cards-scroll-container .card-item{aspect-ratio:60/92;background-color:var(--layer-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;flex:0 0 30%;min-width:30%;overflow:hidden}.backrooms-team-cards-page .card-group .cards-scroll-container .card-item .card{height:100%;overflow:hidden;width:100%}.backrooms-team-cards-page .card-group .cards-scroll-container .card-item .card .card-image{display:block;height:110%;left:-5%;margin-top:-6.1%;object-fit:cover;position:relative;width:110%}.ranking-page{padding:16px}.ranking-page .back-button{color:#1890ff;cursor:pointer;display:inline-block;font-size:16px;margin-bottom:16px;transition:all .3s}.ranking-page .ranking-list .ranking-item{align-items:center;background-color:var(--layer-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;margin-bottom:12px;padding:16px}.ranking-page .ranking-list .ranking-item .rank-number{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:40px;justify-content:center;margin-right:16px;width:40px}.ranking-page .ranking-list .ranking-item .rank-number.rank-1{background:linear-gradient(135deg,gold,orange);font-size:18px}.ranking-page .ranking-list .ranking-item .rank-number.rank-2{background:linear-gradient(135deg,silver,#a9a9a9);font-size:18px}.ranking-page .ranking-list .ranking-item .rank-number.rank-3{background:linear-gradient(135deg,#cd7f32,#8b4513);font-size:18px}.ranking-page .ranking-list .ranking-item .rank-number.rank-other{background-color:#666;font-size:14px}.ranking-page .ranking-list .ranking-item .rank-info{flex:1 1;font-size:13px}.ranking-page .ranking-list .ranking-item .rank-info .team-name{color:var(--text-color);font-size:18px;font-weight:500;margin-bottom:4px}.ranking-page .ranking-list .ranking-item .rank-info .address-info{color:var(--text-secondary-color);display:flex;font-size:13px;gap:12px}.ranking-page .ranking-list .ranking-item .rank-info .address-info .custom-name{color:var(--primary-color)}.ranking-page .ranking-list .ranking-item .rank-info .address-info .level{background-color:var(--primary-color);border-radius:4px;color:#fff;padding:2px 8px}.ranking-page .ranking-list .ranking-item .rank-info .address-info .military-rank{color:var(--primary-color)}.ranking-page .ranking-list .ranking-item .logo{border-radius:50%;height:60px;overflow:hidden;width:60px}.ranking-page .ranking-list .ranking-item .logo img{height:100%;object-fit:cover;width:100%}@font-face{font-family:MaShanZheng;font-style:normal;font-weight:400;src:url(https://oss.usecubes.cn/front-end/assets/fonts/MaShanZheng-Regular.ttf) format("truetype")}:root{--background-color:#d5d182;--primary-color:#9b004e;--link-color:#4d9de0;--text-color:#1e212b;--accent-color:#fa7e61;--layer-color:#d5cf9f}@media (max-width:768px){*,[role=button],a,button{-webkit-tap-highlight-color:transparent}[role=button],a,button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}body{background-color:#d5d182;background-color:var(--background-color);color:#1e212b;color:var(--text-color)}a{color:#4d9de0;color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}
/*# sourceMappingURL=main.7dbb8c11.css.map*/