*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
:focus{outline:none!important;}
:root{
--bg:#f5f7fa;--card:#ffffff;--text:#333333;--muted:#666666;
--btn-bg:#6a11cb;--btn-bg-hover:#5a0db3;
--btn-history:#00c853;
--shadow:0 5px 15px rgba(0,0,0,0.08);
--radius-lg:14px;
--light-blue-text:#1e88e5;
}
@media(prefers-color-scheme:dark){
:root{
--bg:#0f1720;--card:#111216;--text:#e6eef8;--muted:#aab3c6;
--btn-bg:#3a3fc8;--light-blue-text:#64b5f6;
}
}

body{
background:var(--bg);
color:var(--text);
line-height:1.6;
font-family:-apple-system,sans-serif;
display:flex;
flex-direction:column;
min-height:100vh;
}

body.locked{
height:100vh;
overflow:hidden;
}

.container{max-width:1200px;margin:0 auto;padding:0 20px;}

header{
background:url("/img/cff.png") center/cover no-repeat;
color:#fff;
padding:1.2rem 0;
text-align:center;
box-shadow:0 4px 6px rgba(0,0,0,0.08);
-webkit-user-select:none;user-select:none;
}
header h1{font-size:1.6rem;margin-bottom:4px;color:var(--light-blue-text);text-shadow:0 1px 2px rgba(0,0,0,0.2);-webkit-user-select:text;user-select:text;}
header .subtitle{font-size:0.85rem;opacity:0.9;color:var(--light-blue-text);-webkit-user-select:text;user-select:text;}

.search-container{margin:1rem auto;max-width:450px;padding:0 15px;position:relative;}
.search-box{width:100%;padding:10px 20px;border:none;border-radius:50px;background:rgba(255,255,255,0.95);box-shadow:var(--shadow);transition:all 0.3s ease;-webkit-user-select:text;user-select:text;font-size:0.9rem;text-align:center;}
.search-box:focus{transform:translateY(-1px);box-shadow:0 5px 15px rgba(0,0,0,0.1);}

.content-area{flex:1;}

.software-list{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:2rem;overflow:hidden;min-height:300px;}
.list-header{background:rgba(0,0,0,0.03);padding:12px 20px;border-bottom:1px solid rgba(0,0,0,0.04);font-weight:600;color:var(--muted);font-size:0.9rem;-webkit-user-select:none;user-select:none;}

.software-item{display:flex;align-items:flex-start;padding:18px 20px;border-bottom:1px solid rgba(0,0,0,0.04);transition:background .25s;position:relative;overflow:hidden;animation:fadeInUp 0.5s ease backwards;-webkit-user-select:none;user-select:none;}

.software-icon{width:50px;height:50px;border-radius:12px;margin-right:14px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;}
.software-icon img{width:100%;height:100%;object-fit:cover;}

.software-details{flex:1;min-width:0;padding-top:2px;}
.software-name{font-size:1rem;font-weight:600;margin-bottom:4px;-webkit-user-select:text;user-select:text;}
.software-description{color:var(--muted);font-size:0.8rem;line-height:1.5;white-space:normal;word-break:break-all;overflow:visible;-webkit-user-select:text;user-select:text;}

.btn-group{display:flex;gap:8px;align-items:center;margin-left:10px;flex-shrink:0;align-self:center;}

.download-btn,.history-btn{color:#fff!important;padding:7px 14px;border-radius:8px;text-decoration:none;font-weight:600;font-size:0.85rem;transition:transform 0.1s;position:relative;z-index:2;-webkit-user-select:none;user-select:none;cursor:pointer;}
.download-btn{background:var(--btn-bg);}
.history-btn{background:var(--btn-history);}
.download-btn:active,.history-btn:active{transform:scale(0.9);}

/* 广告样式 */
.ad-title-label{color:red;font-weight:800;text-align:center;font-size:0.9rem;margin-bottom:6px;}
.ad-box{background:var(--card);border-radius:14px;box-shadow:var(--shadow);padding:8px;margin-bottom:10px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;}
.ad-img{width:100%;border-radius:10px;margin-bottom:6px;max-height:200px;object-fit:cover;}
.ad-title{font-weight:700;font-size:0.85rem;}
.ad-badge{font-size:0.72rem;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,0.06);color:var(--muted);display:inline-block;margin-top:4px;}
.ad-meta{font-size:0.75rem;color:var(--muted);}

/* 历史版本弹窗 */
.h-list{max-height:280px;overflow-y:auto;padding:10px 0;margin-bottom:10px;}
.h-item{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(0,0,0,0.03);border-radius:12px;margin-bottom:8px;text-align:left;}
.h-icon-img{width:35px;height:35px;border-radius:8px;flex-shrink:0;object-fit:cover;}
.h-ver-info{flex:1;min-width:0;display:flex;flex-direction:column;}
.h-v-name{font-weight:700;font-size:0.9rem;}
.h-v-desc{font-size:0.75rem;color:var(--muted);margin-top:2px;}
.h-v-date{font-size:0.65rem;color:#999;}
.h-v-btn{background:var(--btn-history);color:#fff;text-decoration:none;padding:4px 12px;border-radius:6px;font-size:0.8rem;font-weight:600;flex-shrink:0;}

footer{
color:#333;
text-align:center;
padding:1.2rem 0;
font-size:0.85rem;
-webkit-user-select:text;
user-select:text;
margin-top:auto;
}

/* ICP链接样式 */
#icp-number a {
color: inherit;
text-decoration: none;
transition: opacity 0.2s;
}
#icp-number a:hover {
opacity: 0.8;
text-decoration: underline;
}

/* 公告弹窗 */
.modal-mask{
position:fixed;
inset:0;
background:rgba(0,0,0,0.5);
backdrop-filter:blur(4px);
display:none;
align-items:center;
justify-content:center;
z-index:9999;
}

.modal-box{
background:var(--card);
width:90%;
max-width:360px;
border-radius:24px;
padding:20px;
text-align:center;
box-shadow:0 15px 40px rgba(0,0,0,0.3);
animation:scaleIn 0.3s;

max-height:80vh;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
overscroll-behavior:contain;
touch-action:manipulation;
}

.modal-title{font-size:1.2rem;font-weight:800;margin-bottom:15px;color:#ff6ab9;}

.modal-btn{
display:block;
width:100%;
padding:10px;
margin:8px 0;
border-radius:12px;
background:var(--btn-bg);
color:#fff;
border:none;
cursor:pointer;
font-weight:600;
font-size:0.9rem;
text-decoration:none;
transition:all 0.2s cubic-bezier(0.175,0.885,0.32,1.275);
position:relative;
overflow:hidden;
-webkit-user-select:none;
user-select:none;
}
.modal-btn:hover,.modal-btn:active{transform:scale(1.03);filter:brightness(1.1);box-shadow:0 4px 12px rgba(106,17,203,0.3);}
.modal-btn:active{transform:scale(0.97);}
.modal-small-btn{background:#ff82c7!important;margin-top:12px!important;}

.ripple{position:absolute;border-radius:50%;transform:scale(0);animation:ripple-animation 0.6s linear;background:rgba(0,0,0,0.06);pointer-events:none;}
@keyframes ripple-animation{to{transform:scale(4);opacity:0;}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
@keyframes scaleIn{from{transform:scale(.85);opacity:0;}to{transform:scale(1);opacity:1;}}

@media(max-width:480px){
.software-item{flex-wrap:wrap;}
.btn-group{width:100%;justify-content:flex-end;margin-top:10px;}
}

/* 无数据时的样式 */
.no-results {
padding: 60px 20px;
text-align: center;
color: var(--muted);
font-size: 1rem;
}