*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}
body{background:#f5f5f5;color:#333;overflow-x:hidden;}
.loader-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999;background:#7171c6;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.5s,visibility 0.5s;}
.loader-wrapper.hide{opacity:0;visibility:hidden;}
.loader{width:50px;height:50px;border:3px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.loader-text{color:#fff;margin-top:20px;font-size:14px;}
.header{background:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;max-width:1400px;margin:0 auto;}
.header-left{display:flex;align-items:center;gap:12px;}
.menu-btn{width:36px;height:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;border-radius:8px;transition:background 0.2s;position:relative;}
.menu-btn:hover{background:#f0f0f0;}
.menu-btn span{display:block;width:20px;height:2px;background:#333;border-radius:1px;transition:all 0.3s;}
.menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.menu-btn.active span:nth-child(2){opacity:0;}
.menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.logo{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#333;}
.logo-icon{
width:35px;
height:35px;
background:url(https://siyecaoscw.top/txe.png) no-repeat center;
background-size:contain;
border-radius:6px;
}
.header-right{display:flex;align-items:center;gap:12px;}
.user-info{display:none;align-items:center;gap:8px;font-size:14px;color:#666;}
.user-info.show{display:flex;}
.logout-btn{padding:6px 14px;border:1px solid #eee;background:#fff;border-radius:20px;font-size:13px;cursor:pointer;color:#666;transition:all 0.2s;}
.logout-btn:hover{background:#f5f0f0;}
.login-trigger{padding:8px 20px;background:#4a90e2;color:#fff;border:none;border-radius:20px;font-size:14px;cursor:pointer;transition:background 0.2s;}
.login-trigger:hover{background:#357abd;}

.float-menu{
position:fixed;
top:70px;
left:16px;
width:200px;
background:#fff;
border-radius:12px;
box-shadow:0 5px 20px rgba(0,0,0,0.15);
padding:10px 0;
z-index:1002;
transform-origin:left top;
transform:scale(0.95);
opacity:0;
visibility:hidden;
transition:all 0.25s ease;
}
.float-menu.show{
transform:scale(1);
opacity:1;
visibility:visible;
}
.float-menu::before{
content:'';
position:absolute;
top:-6px;
left:16px;
width:12px;
height:12px;
background:#fff;
transform:rotate(45deg);
border-radius:2px;
}
.sidebar-header{padding:12px 20px;border-bottom:1px solid #f0f0f0;}
.sidebar-title{font-size:15px;font-weight:600;color:#333;}
.sidebar-menu{padding:4px 0;}
.sidebar-item{display:flex;align-items:center;gap:10px;padding:11px 20px;cursor:pointer;transition:background 0.2s;color:#555;font-size:14px;border-radius:6px;margin:0 8px;}
.sidebar-item:hover{background:#f8f9fa;}
.sidebar-item i{width:20px;text-align:center;color:#888;}
.sidebar-divider{height:1px;background:#f0f0f0;margin:6px 12px;}

.overlay{
position:fixed;
top:0;left:0;
width:100%;height:100%;
background:rgba(0,0,0,0.3);
z-index:1001;
opacity:0;
visibility:hidden;
transition:all 0.25s ease;
}
.overlay.show{
opacity:1;
visibility:visible;
}

.banner-section{width:100%;background:#fff;padding:16px 0;}
.banner-container{max-width:1400px;margin:0 auto;padding:0 16px;position:relative;}
.banner-slider{
position:relative;
width:100%;
aspect-ratio:16/5;
max-height:200px;
border-radius:12px;
overflow:hidden;
background:#f0f0f0;
}
.banner-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 0.6s ease;object-fit:contain;background:#ffffff;}
.banner-slide.active{opacity:1;}
.banner-dots{position:absolute;bottom:16px;left:50%;transform: translateX(-50%);display:flex;gap:8px;z-index:10;}
.banner-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.3s;}
.banner-dot.active{background:#fff;width:24px;border-radius:4px;}
.banner-nav{position:absolute;top:50%;transform: translateY(-50%);width:40px;height:40px;background:rgba(255,255,255,0.8);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#333;opacity:0;transition:opacity 0.3s;z-index:10;}
.banner-slider:hover .banner-nav{opacity:1;}
.banner-nav.prev{left:12px;}
.banner-nav.next{right:12px;}

.alert-bar{
background:#fffbeb;
border-radius:999px;
padding:10px 16px;
margin:16px auto;
max-width:1400px;
font-size:13px;
color:#92400e;
display:flex;
align-items:center;
overflow:hidden;
position:relative;
}
.alert-bar-content{
display:inline-block;
white-space:nowrap;
animation:marquee 20s linear infinite;
padding-left:100%;
}
@keyframes marquee{
0%{transform:translateX(0);}
100%{transform:translateX(-100%);}
}

.filter-section{background:#fff;padding:16px;}
.filter-container{max-width:1400px;margin:0 auto;}
.filter-group{margin-bottom:12px;}
.filter-group:last-child{margin-bottom:0;}
.filter-head{
display:flex;
align-items:center;
gap:10px;
margin-bottom:8px;
}
.filter-label{
font-size:14px;
color:#666;
font-weight:500;
white-space:nowrap;
}
.filter-scroll{
display:flex;
gap:8px;
overflow-x:auto;
overflow-y:hidden;
padding-bottom:4px;
scrollbar-width:none;
}
.filter-scroll::-webkit-scrollbar{display:none;}
.filter-btn{
white-space:nowrap;
padding:8px 16px;
border:1px solid #e5e5e5;
background:#fff;
border-radius:20px;
font-size:14px;
cursor:pointer;
transition:all 0.2s;
color:#555;
flex-shrink:0;
}
.filter-btn:hover{border-color:#4a90e2;color:#4a90e2;}
.filter-btn.active{background:#4a90e2;color:#fff;border-color:#4a90e2;}
.search-box{
display:flex;
align-items:center;
border:1px solid #e5e5e5;
border-radius:8px;
overflow:hidden;
background:#fff;
width:100%;
max-width:300px;
margin:12px auto 0;
}
.search-input{border:none;padding:8px 14px;font-size:14px;width:100%;outline:none;}

.content-section{max-width:1400px;margin:0 auto;padding:0 16px 40px;}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.section-title{font-size:20px;font-weight:600;color:#333;}
.result-count{font-size:14px;color:#999;}
.materials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
@media (min-width:640px){.materials-grid{grid-template-columns:repeat(3,1fr);gap:16px;}}
@media (min-width:1024px){.materials-grid{grid-template-columns:repeat(5,1fr);gap:20px;}}
.material-card{background:transparent;cursor:pointer;transition:all 0.3s;position:relative;height:100%;display:flex;flex-direction:column;}
.card-image-wrap{
position:relative;
width:100%;
aspect-ratio:4/3;
overflow:hidden;
background:#fff;
border-radius:12px;
border: 1.5px solid #9D9D9D;
}
.img-loading-mask {
position: absolute;
inset: 0;
background: #f5f5f5;
z-index: 2;
transition: opacity 0.45s ease;
}
.card-image{width:100%;height:100%;object-fit:cover;opacity:0;filter: blur(12px) contrast(1.2);transition: filter 0.5s ease-out, opacity 0.45s ease;}
.card-image.loaded{opacity:1;filter: blur(0) contrast(1);}
.card-badges{position:absolute;top:10px;left:10px;display:flex;gap:8px;z-index:3;}
.badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;}
.badge-copyright{background:#ff6b6b;}
.badge-new{background:#51cf66;}
.card-info{padding:10px 0;flex:1;}
.card-title{font-size:15px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;word-break: break-all;}
.card-meta{display:flex;align-items:center;justify-content:space-between;}
.card-date{font-size:12px;color:#999;white-space:nowrap;}
.card-preview{font-size:15px;color:#4a90e2;font-weight:500;}

.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:40px 0 20px;}
.page-btn{min-width:36px;height:36px;border:1px solid #e5e5e5;background:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#555;transition:all 0.2s;}
.page-btn:hover:not(:disabled){border-color:#4a90e2;color:#4a90e2;}
.page-btn.active{background:#4a90e2;color:#fff;border-color:#4a90e2;}
.page-btn:disabled{opacity:0.4;cursor:not-allowed;}
.page-input{width:50px;height:36px;border:1px solid #e5e5e5;border-radius:8px;text-align:center;font-size:14px;outline:none;}
.page-jump{padding:0 14px;}

.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.55);z-index:2002;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all 0.3s;padding:16px;}
.modal.show{opacity:1;visibility:visible;}
.modal-content{background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);border-radius:14px;width:92%;max-width:440px;max-height:90vh;overflow-y:auto;transform:scale(0.9);transition:transform 0.3s;box-shadow:0 8px 30px rgba(30,100,220,0.18);border:1px solid rgba(60,140,255,0.15);padding:22px;}
.modal.show .modal-content{transform:scale(1);}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.modal-title{font-size:18px;font-weight:600;}
.modal-close{width:32px;height:32px;border:none;background:transparent;border-radius:50%;cursor:pointer;font-size:22px;color:#666;display:flex;align-items:center;justify-content:center;transition:background 0.2s;}
.modal-close:hover{background:rgba(60,140,255,0.18);}
.modal-body{padding:0;}
.form-group{margin-bottom:14px;}
.form-label{display:block;font-size:14px;color:#333;margin-bottom:7px;font-weight:500;}
.form-input{width:100%;padding:11px;border:1px solid rgba(60,140,255,0.25);border-radius:8px;font-size:15px;outline:none;transition:border-color 0.2s;background:rgba(255,255,255,0.85);resize:none;}
.form-input:focus{border-color:#4a90e2;}
.captcha-wrap{display:flex;gap:12px;align-items:center;}
.captcha-img{height:44px;border-radius:8px;cursor:pointer;border:1px solid #e5e5e5;}
.submit-btn{width:100%;padding:11px;background:#2374e1;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background 0.2s;}
.submit-btn:hover{background:#1d64c8;}
.submit-btn:disabled{opacity:0.6;cursor:not-allowed;}
.all-withdraw{margin-left:8px;padding:7px 11px;background:#2374e1;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;}
.notice-box{background:rgba(255,152,0,0.12);border:1px solid rgba(255,152,0,0.45);border-radius:10px;padding:10px 12px;margin-bottom:14px;color:#cc7700;font-size:13px;line-height:1.4;text-align:center;white-space:pre-line;}
.modal-close-btn{width:34px;height:34px;border:none;background:rgba(60,140,255,0.18);backdrop-filter:blur(6px);border-radius:50%;font-size:20px;color:#2374e1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:0.2s;}
.modal-close-btn:hover{background:rgba(60,140,255,0.35);}

.detail-modal{z-index:2001;}
.detail-modal .modal-content{max-width:800px;}
.detail-image{width:100%;border-radius:12px;margin-bottom:20px;opacity:0;filter: blur(12px) contrast(1.2);transition: filter 0.5s ease-out, opacity 0.45s ease;}
.detail-image.loaded{opacity:1;filter: blur(0) contrast(1);}
.detail-title{font-size:22px;font-weight:700;margin-bottom:12px;}
.detail-desc{font-size:15px;color:#666;line-height:1.6;margin-bottom:24px;}
.detail-actions{display:flex;gap:12px;}
.download-btn{
flex:1;
padding:14px;
background:#87CEEB;
color:#fff;
border:none;
border-radius:10px;
font-size:16px;
font-weight:600;
cursor:pointer;
transition:background 0.2s;
}
.download-btn:hover{background:#7ecbec;}
.download-btn:disabled{opacity:0.6;cursor:not-allowed;}

.toast{position:fixed;top:20px;left:50%;transform: translateX(-50%) translateY(-100px);background:#333;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:9999999;opacity:0;transition:all 0.3s;}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
.toast.error{background:#ff6b6b;}
.toast.success{background:#51cf66;}

footer{background:#fff;padding:30px 16px;text-align:center;border-top:1px solid #f0f0f0;margin-top:40px;}
.footer-text{font-size:13px;color:#999;line-height:1.8;}

@media (max-width:640px){
.banner-slider{
aspect-ratio:16/4;
max-height:120px;
}
}
@media (min-width:768px){
.modal-content{
width:440px;
padding:26px;
}
.notice-box{
font-size:14px;
padding:12px 16px;
}
.form-label{
font-size:15px;
}
.form-input{
padding:12px;
}
.submit-btn{
padding:12px;
}
}
.fixed-wechat-float {
position: fixed;
right: 20px;
bottom: 30px;
width: 50px;
height: 50px;
border-radius: 50%;
background-color: #07C160;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index:1003;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
font-size: 24px;
color: #fff;
font-weight: bold;
}
.fixed-wechat-float:hover {
transform: scale(1.1);
}
.wechat-qrcode-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.7);
display: none;
align-items: center;
justify-content: center;
z-index:2002;
}
.wechat-qrcode-modal.show{display:flex;}
.wechat-qrcode-box {
width: 280px;
height: 280px;
background-color: #fff;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.wechat-qrcode-box img {
width: 240px;
height: 240px;
object-fit: cover;
}
.wechat-qrcode-close {
position: absolute;
top: -40px;
right: 0;
color: #fff;
font-size: 32px;
cursor: pointer;
}
.pay-type-box{display:flex;gap:12px;margin-bottom:20px}
.pay-item{flex:1;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:1px solid #dcdfe6;cursor:pointer;font-size:15px;transition:all 0.2s}
.pay-item.wx{background:rgba(7,193,96,0.15);color:#07C160;border-color:rgba(7,193,96,0.3)}
.pay-item.ali{background:rgba(64,128,255,0.15);color:#4080ff;border-color:rgba(64,128,255,0.3)}
.pay-item.uncheck{background:#f7f8fa;color:#4e5969;border-color:#dcdfe6}
.check-mark{margin-left:6px}
.tab-wrap{
display:flex;
gap:0;
border-bottom:1px solid #eee;
margin-bottom:24px;
}
.tab-btn{
flex:1;
padding:12px 0;
border:none;
background:transparent;
cursor:pointer;
font-size:15px;
color:#666;
position:relative;
transition:color 0.2s;
}
.tab-btn.active{
color:#409eff;
font-weight:600;
}
.tab-btn.active::after{
content:"";
position:absolute;
bottom:-1px;
left:0;
width:100%;
height:2px;
background:#409eff;
transition:all 0.2s;
}
.form-slide-wrap{
width:100%;
overflow:hidden;
}
.form-slide-inner{
display:flex;
width:200%;
transition:transform 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
}
.form-slide-inner.slide-reg{
transform:translateX(-50%);
}
.form-slide-item{
width:50%;
flex-shrink:0;
}
.user-page-header{background:#cce5ff;color:#2c3e50;padding:20px 16px;position:relative;z-index:1000;width:100%;}
.user-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid #fff;margin-bottom:10px;}
.user-avatar img{width:100%;height:100%;object-fit:cover;}
.user-name{font-size:20px;font-weight:600;margin-bottom:4px;display:block;width:100%;word-break:break-all;}
.user-qq{font-size:14px;color:#446084;margin-bottom:10px;display:block;width:100%;}
.user-data-row{display:flex;gap:24px;font-size:14px;flex-wrap:wrap;width:100%;}
.user-data-item{text-align:center;flex:1;min-width:80px;}
.user-data-num{font-size:18px;font-weight:bold;display:block;color:#2d7dbb;}
.user-tabs{background:#cce5ff;display:flex;border-top:1px solid #b3d4f7;width:100%;}
.tab-item{flex:1;text-align:center;padding:14px 0;color:#446084;font-size:15px;cursor:pointer;border-bottom:2px solid transparent;}
.tab-item.active{color:#2d7dbb;border-color:#409eff;}
.user-back{cursor:pointer;color:#2d7dbb;font-size:15px;position:absolute;top:20px;right:16px;}
.user-works-wrap{width:100%;max-width:1400px;margin:20px auto;padding:0 16px;}
.user-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;}
@media (min-width:640px){.user-works-grid{grid-template-columns:repeat(4,1fr);gap:16px;}}
@media (min-width:1024px){.user-works-grid{grid-template-columns:repeat(5,1fr);gap:20px;}}
.work-card{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:#fff;border:1.5px solid #9D9D9D;width:100%;}
.work-card img{width:100%;height:100%;object-fit:cover;}
.work-info{position:absolute;left:0;bottom:0;width:100%;padding:8px;background:linear-gradient(transparent,rgba(0,0,0,0.6));color:#fff;font-size:13px;}
.empty-tip{text-align:center;padding:40px 0;color:#999;font-size:15px;width:100%;}
.order-item{background:#fff;border:1px solid #eee;border-radius:8px;padding:15px;margin:10px 0;}
.order-no{color:#2d7dbb;font-weight:bold;}
.withdraw-btn{
margin-left:10px;
padding:4px 12px;
border-radius:8px;
background:rgba(60,140,255,0.22);
backdrop-filter:blur(6px);
border:1px solid rgba(60,140,255,0.45);
color:#2374e1;
font-size:12px;
cursor:pointer;
}
.withdraw-btn:hover{
background:rgba(60,140,255,0.35);
}








.user-setting-btn{
    cursor:pointer;
    padding:4px;
}
.user-setting-btn:hover{
    background:rgba(0,0,0,0.05);
    border-radius:50%;
}
#settingModal .modal-content{
    width:90%;
    max-width:420px;
}
.setting-modal-box {
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-radius:12px;
    border:1px solid rgba(255,255,255,0.2);
    width:90%;
    max-width:520px;
    min-height:580px;
}
.preview-box {
    margin-top:8px;
    min-height:180px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.pay-row {
    display:grid;
    grid-template-columns: 1fr;
    gap:20px;
}
@media (min-width:768px) {
    .pay-row {
        grid-template-columns: 1fr 1fr;
    }
}
