*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5;color:#303133;background-color:#f5f7fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#667eea;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none}button:focus{outline:none}input,select,textarea{font-family:inherit;font-size:inherit}input:focus,select:focus,textarea:focus{outline:none}ol,ul{list-style:none}img{max-width:100%;height:auto;vertical-align:middle}.front-page{min-height:100vh;background-color:#f5f7fa;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-bottom:60px}@media screen and (min-width:768px){.front-page{max-width:600px;margin:0 auto;-webkit-box-shadow:0 6px 16px rgba(0,0,0,.1);box-shadow:0 6px 16px rgba(0,0,0,.1)}}@media screen and (min-width:1024px){.front-page{max-width:750px}}.front-header{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,#667eea,#764ba2);padding:0 16px}@media screen and (min-width:768px){.front-header{max-width:600px;margin:0 auto;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@media screen and (min-width:1024px){.front-header{max-width:750px}}.front-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:50px}.front-header-title{color:#fff;font-size:18px;font-weight:600;margin:0}.front-header-back{width:36px;height:36px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#fff;font-size:20px;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1)}.front-header-back:active{opacity:.7}.front-header-right{width:36px}.front-main{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;-ms-overflow-style:none;scrollbar-width:none}.front-main::-webkit-scrollbar{display:none}.front-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-shadow:0 -2px 10px rgba(0,0,0,.05);box-shadow:0 -2px 10px rgba(0,0,0,.05);z-index:100;padding-bottom:env(safe-area-inset-bottom)}@media screen and (min-width:768px){.front-bottom-nav{max-width:600px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:16px 16px 0 0}}@media screen and (min-width:1024px){.front-bottom-nav{max-width:750px}}.front-nav-item{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:8px 0;color:#909399;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.4,0,.2,1);transition:color .2s cubic-bezier(.4,0,.2,1)}.front-nav-item.active{color:#667eea}.front-nav-item:active{opacity:.7}.front-nav-icon{font-size:22px;margin-bottom:4px}.front-nav-text{font-size:12px}.front-card{background:#fff;border-radius:12px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06);padding:16px;margin-bottom:12px}@media screen and (min-width:768px){.front-card{padding:20px;margin-bottom:16px}}.front-card-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #ebeef5}.front-card-title{font-size:16px;font-weight:600;color:#303133;margin:0}.front-card-more{font-size:13px;color:#909399;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;cursor:pointer}.front-card-more:hover{color:#667eea}.front-btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:44px;padding:0 20px;border-radius:22px;font-size:14px;font-weight:500;cursor:pointer;border:none;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.front-btn:active{opacity:.9}.front-btn--secondary{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:44px;padding:0 20px;border-radius:22px;font-size:14px;font-weight:500;cursor:pointer;border:none;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);background:#f5f7fa;color:#606266}.front-btn--secondary:active{opacity:.8}.front-btn--large{height:48px;font-size:16px}.front-btn--small{height:36px;font-size:13px;padding:0 16px}.front-btn--block{width:100%}.front-btn--round{border-radius:50%}.front-btn--loading{pointer-events:none;opacity:.7}.front-form{padding:16px}@media screen and (min-width:768px){.front-form{padding:20px}}.front-form-item{margin-bottom:16px}.front-form-label{display:block;font-size:14px;font-weight:500;color:#303133;margin-bottom:8px}.front-form-input{width:100%;height:44px;padding:0 12px;border:1px solid #dcdfe6;border-radius:10px;font-size:14px;color:#303133;background:#fff;-webkit-transition:border-color .2s cubic-bezier(.4,0,.2,1);transition:border-color .2s cubic-bezier(.4,0,.2,1)}.front-form-input::-webkit-input-placeholder{color:#c0c4cc}.front-form-input::-moz-placeholder{color:#c0c4cc}.front-form-input:-ms-input-placeholder{color:#c0c4cc}.front-form-input::-ms-input-placeholder{color:#c0c4cc}.front-form-input::placeholder{color:#c0c4cc}.front-form-input:focus{border-color:#667eea;outline:none}.front-form-error{font-size:12px;color:#f56c6c;margin-top:4px}.front-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px 8px;font-size:12px;border-radius:4px;background:rgba(102,126,234,.1);color:#667eea}.front-tag--success{background:rgba(103,194,58,.1);color:#67c23a}.front-tag--warning{background:rgba(230,162,60,.1);color:#e6a23c}.front-tag--danger{background:rgba(245,108,108,.1);color:#f56c6c}.front-tag--info{background:rgba(64,158,255,.1);color:#409eff}.front-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:32px 0;color:#909399}.front-empty-icon{font-size:48px;color:#c0c4cc;margin-bottom:12px}.front-empty-text{font-size:14px}.front-loading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:32px 0}.front-loading-spinner{width:32px;height:32px;border:3px solid #ebeef5;border-top-color:#667eea;border-radius:50%;-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.front-skeleton{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f5f7fa),color-stop(50%,#ebeef5),color-stop(75%,#f5f7fa));background:linear-gradient(90deg,#f5f7fa 25%,#ebeef5 50%,#f5f7fa 75%);background-size:200% 100%;-webkit-animation:skeleton-loading 1.5s infinite;animation:skeleton-loading 1.5s infinite;border-radius:4px}@-webkit-keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.front-skeleton--text{height:16px;margin-bottom:8px}.front-skeleton--text:last-child{width:60%}.front-skeleton--title{height:24px;width:40%;margin-bottom:12px}.front-skeleton--avatar{width:48px;height:48px;border-radius:50%}.front-skeleton--button{height:44px;width:120px;border-radius:22px}.front-skeleton--card{height:200px;border-radius:12px}.front-divider{height:1px;background:#ebeef5;margin:16px 0}.front-divider--thick{height:8px;background:#f5f7fa}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .3s cubic-bezier(.4,0,.2,1);transition:opacity .3s cubic-bezier(.4,0,.2,1)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{-webkit-transition:all .3s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}.text-primary{color:#667eea}.text-success{color:#67c23a}.text-warning{color:#e6a23c}.text-danger{color:#f56c6c}.text-center{text-align:center}.text-right{text-align:right}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mt-sm{margin-top:8px}.mt-md{margin-top:12px}.mt-lg{margin-top:16px}.mt-xl{margin-top:20px}.mb-sm{margin-bottom:8px}.mb-md{margin-bottom:12px}.mb-lg{margin-bottom:16px}.mb-xl{margin-bottom:20px}.p-sm{padding:8px}.p-md{padding:12px}.p-lg{padding:16px}.p-xl{padding:20px}*{margin:0;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}#app,body,html{width:100%;height:100%}