*{
    box-sizing:border-box;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;
    margin:0;
    padding:0
}
html,body{height:100%}
body{background:#f7f8fa}

.page{
    width:750px;
    max-width:100%;
    margin:0 auto;
    background:#fff;
    min-height:100%;
    display:flex;
    flex-direction:column
}

/* ========== 头部 ========== */
.header{
    background: linear-gradient(90deg, #4169ff, #5a83ff);
    color:#fff;
    padding: 16px 24px;
    display:flex;
    align-items:center;
    gap:12px;
}
.header-logo{
    font-size:18px;
    font-weight:bold;
    letter-spacing:1px;
    color:#fff;
    text-decoration:none;
    white-space:nowrap;
}
.header-divider{
    color:rgba(255,255,255,0.5);
    font-size:16px;
}
.header-title{
    font-size:14px;
    font-weight:normal;
    opacity:0.9;
}

/* ========== 底部 ========== */
.footer{
    background:#f5f7fa;
    color:#888;
    text-align:center;
    padding:20px 24px;
    font-size:14px;
    border-top:1px solid #EAECEF;
}
.footer .links{margin-bottom:8px;}
.footer .links a{color:#4169ff;text-decoration:none;margin:0 6px;}
.footer .copyright{font-size:13px;color:#999;}

/* ========== 首页样式 ========== */
.cat{
    padding:20px 20px 8px;
    font-size:16px;
    font-weight:bold
}
.grid{
    padding:0 20px
}
.grid a.card{
    display:block;
    margin-bottom:10px;
    background:#fff;
    border-radius:12px;
    padding:16px 14px;
    text-decoration:none;
    color:#333;
    font-size:15px;
    text-align:left;
    border:1px solid #E5E6EB;
}
.grid a.card:hover{
    border-color:#4169ff;
    background:#f5f8ff;
}
.card{
    display:block;
    background:#fafafa;
    border-radius:12px;
    padding:14px 10px;
    text-align:center;
    text-decoration:none;
    color:#333;
    font-size:14px
}

/* ========== 答题页样式 ========== */
.progress-wrap{padding:0 24px;margin:20px 0 50px}
.progress-text{display:flex;justify-content:space-between;font-size:14px;color:#666;margin-bottom:8px}
.progress-bar{height:6px;background:#EAECEF;border-radius:3px;overflow:hidden}
.progress-inner{height:100%;background:#4169ff;width:12.5%;transition:width 0.3s ease}

.main{flex:1;padding:20px 24px 40px}
.main .progress-wrap{margin-top:10px}
.title{text-align:center;font-size:22px;color:#222;margin-bottom:6px}
.tip{text-align:center;font-size:14px;color:#999;margin-bottom:30px}

.question{display:none}
.question.active{display:block;animation:fadeIn 0.3s}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.q{font-size:17px;font-weight:bold;color:#222;margin-bottom:20px;line-height:1.5}
.opt{padding:18px 16px;border:1px solid #E5E6EB;border-radius:12px;margin-bottom:12px;cursor:pointer;transition:all 0.2s;font-size:15px}
.opt:hover{border-color:#4169ff;background:#f5f8ff}
.opt.active{background:#4169ff;color:#fff;border-color:#4169ff}

/* ========== 结果页 ========== */
.result-page{
    display:none;
    flex-direction:column;
    padding:30px 24px;
    align-items:center;
}

.result-box{
    width:100%;
    background:#fff;
    border-radius:16px;
    padding:40px 24px;
    text-align:center;
}

.result-label{
    font-size:14px;
    color:#999;
    margin-bottom:16px;
}

.result-title{
    font-size:32px;
    font-weight:bold;
    color:#4169ff;
    margin-bottom:20px;
    padding-bottom:20px;
    border-bottom:1px solid #eee;
}

.result-desc{
    font-size:16px;
    color:#333;
    line-height:2;
    text-align:left;
}

.result-btns{
    width:100%;
    display:flex;
    gap:12px;
    margin-top:20px;
}

.btn-reset,.btn-more{
    flex:1;
    padding:14px 20px;
    border-radius:12px;
    font-size:15px;
    font-weight:bold;
    text-align:center;
    cursor:pointer;
    text-decoration:none;
    line-height:1.4;
}

.btn-reset,.btn-more{
    flex:1;
    padding:14px 20px;
    border-radius:12px;
    font-size:15px;
    font-weight:bold;
    text-align:center;
    cursor:pointer;
    text-decoration:none;
    line-height:1.4;
}

.btn-reset{
    background:#f5f5f5;
    color:#666;
    border:none;
}

.btn-more{
    background:#4169ff;
    color:#fff;
    border:none;
}

/* ========== 更多测试模块 ========== */

.more-tests-box{
    width:100%;
    margin-top:20px;
}
.more-tests-title{
    font-size:15px;
    color:#4169ff;
    font-weight:bold;
    margin-bottom:12px;
}
.more-tests-row{
    display:block;
    padding:14px 16px;
    margin-bottom:10px;
    background:#f8f8f8;
    border-radius:8px;
    color:#333;
    text-decoration:none;
    font-size:14px;
    transition:all 0.2s;
}
.more-tests-row:last-child{
    margin-bottom:0;
}
.more-tests-row:hover{
    background:#4169ff;
    color:#fff;
}

.certificate h2{
    font-size:26px;
    color:#222;
    margin-bottom:10px;
}
.certificate .badge{
    display:inline-block;
    background:linear-gradient(90deg,#4169ff,#5a83ff);
    color:#fff;
    padding:10px 24px;
    border-radius:50px;
    font-size:18px;
    font-weight:bold;
    margin:20px 0;
}
.certificate .info{
    margin-top:30px;
    text-align:left;
    line-height:1.9;
    color:#333;
    font-size:16px;
}
.certificate .info p{
    margin-bottom:10px;
}

.share-box{
    margin-top:30px;
    width:100%;
}
.share-title{font-size:14px;color:#666;margin-bottom:8px}
.share-text{
    width:100%;height:90px;border-radius:12px;border:1px solid #eee;
    padding:14px;font-size:15px;resize:none;background:#fafafa
}
.copy-btn{
    margin-top:12px;background:#4169ff;color:#fff;border:none;
    border-radius:12px;padding:16px;width:100%;font-size:16px;font-weight:bold;cursor:pointer
}

/* ========== 首页列表样式 ========== */
.page-container{
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    background:#fff;
    overflow:hidden;
    box-shadow:0 2px 10px rgba(0,0,0,0.05)
}

.header-sub{
    background:#fff;
    text-align:center;
    padding:20px 20px;
    border-bottom:1px solid #eee;
}
.header-sub h1{
    font-size:32px;
    color:#333;
    margin-bottom:8px;
    font-weight:bold;
}
.header-sub p{
    font-size:16px;
    color:#999;
    line-height:1.5;
}

.category-container{
    padding:15px 20px;
    background:#fafafa;
    border-bottom:1px solid #eee;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
}
.category-btn{
    padding:8px 16px;
    border:1px solid #e4e6eb;
    border-radius:20px;
    font-size:14px;
    color:#666;
    background:#fff;
    cursor:pointer;
    transition:all 0.2s;
    text-decoration:none;
}
.category-btn.active{
    background:#2C3E50;
    color:#fff;
    border-color:#2C3E50;
}
.category-btn:hover{
    border-color:#2C3E50;
    color:#2C3E50;
    background:#f0f4f8;
}

.test-list{
    display:flex;
    flex-direction:column;
    padding:10px;
}

.test-item{
    width:100%;
    padding:20px 20px;
    border-bottom:1px solid #f0f0f0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    background: #fff;
    cursor:pointer;
    transition:all 0.2s;
    text-decoration:none;
    color:inherit;
}
.test-item:hover{
    background:#f9fafb;
}
.test-item:nth-child(even){background: #fafbfc;}
.test-item:last-child{border-bottom:none;}

.left-info{
    display:flex;
    align-items:center;
    white-space:nowrap;
    min-width:40px;
}
.test-number{
    font-size:14px;
    color:#E63946;
    font-weight:600;
}
.test-number.top3-1{color:#FFD700;}
.test-number.top3-2{color:#C0C0C0;}
.test-number.top3-3{color:#CD7F32;}

.test-info-wrap{
    flex:1;
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0;
}
.name-tags-row{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.test-name{
    font-size:14px;
    color:#333;
    font-weight:500;
    white-space:nowrap;
}

.test-type{
    padding:4px 10px;
    font-size:13px;
    color:#888;
    background:#f0f0f0;
    border-radius:6px;
}

.start-btn{
    display:flex;
    align-items:center;
    gap:4px;
    padding:6px 12px;
    border:1px solid #e4e6eb;
    border-radius:4px;
    font-size:12px;
    color:#666;
    background:#fff;
    cursor:pointer;
    transition:all 0.2s;
}
.start-btn:hover{
    border-color:#2C3E50;
    color:#fff;
    background:#2C3E50;
}

@media (max-width: 768px) {
    .header-sub {padding: 15px 10px;}
    .header-sub h1 {font-size: 24px;margin-bottom: 5px;}
    .header-sub p {font-size: 14px;}
    
    .category-container {padding: 10px;gap: 8px;}
    .category-btn {padding: 6px 12px;font-size: 13px;}
    
    .test-item {padding: 15px 10px;gap: 8px;}
    .test-name {white-space: normal;word-break: break-all;}
    .test-type {padding: 3px 8px;font-size: 13px;}
    .test-number {font-size: 13px;}
    .start-btn {font-size: 11px;padding: 3px 6px;}
}

