        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "Microsoft Yahei", sans-serif;
        }
        body {
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    color: #333;
    padding-bottom: 80px;
    min-height: 100vh;
    display: flex;
    justify-content: center;
}

html {
    overflow-x: hidden;  /* 隐藏横向滚动条 */
}




.container {
    max-width: 750px;  /* 保持移动端最大宽度 */
    width: 100%;       /* 确保宽度自适应但不超750px */
    margin: 0 auto;    /* 居中显示 */
    padding: 15px;
    /* 强制限制在移动端宽度范围内 */
    max-width: 750px !important;
    min-width: 320px;  /* 适配最小移动端宽度 */
}
        .header {
            background: linear-gradient(135deg, #1aad19 0%, #0f7000 100%);
            color: white;
            padding: 25px 15px;
            border-radius: 16px;
            margin-bottom: 20px;
            text-align: center;
            box-shadow: 0 8px 24px rgba(26, 173, 25, 0.25);
            position: relative;
            overflow: hidden;
        }
        .header::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1NiIgaGVpZ2h0PSI1NiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cmVjdCB3aWR0aD0iNTYiIGhlaWdodD0iNTYiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxwYXRoIGQ9Ik0wIDBoNTZ2NTZIMHoiIGZpbGw9IiNlMGVlZWUiLz48cGF0aCBkPSJNMTAgMTBoNHY0SDEweiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMCAxMGg0djRIMjB6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTMwIDEwaDR2NEgzMCIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik00MCAxMGg0djRINDB6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwIDIwaDR2NEgxMHoiIGZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMCAyMGg0djRIMjB6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTMwIDIwaDR2NEgzMCIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik00MCAyMGg0djRINDB6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwIDMwaDR2NEgxMHoiIGZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMCAzMGg0djRIMjB6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTMwIDMwaDR2NEgzMCIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik00MCAzMGg0djRINDB6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwIDQwaDR2NEgxMHoiIGZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMCA0MGg0djRIMjB6IiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTMwIDQwaDR2NEgzMCIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik00MCA0MGg0djRINDB6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
            opacity: 0.1;
            animation: float 15s linear infinite;
        }
        @keyframes float {
            0% { transform: translate(0, 0) rotate(0deg); }
            50% { transform: translate(-20px, -20px) rotate(180deg); }
            100% { transform: translate(0, 0) rotate(360deg); }
        }
        
        /* 首页用户信息样式 */
        .home-user-info {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 16px;
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
            display: flex;
            align-items: center;
            gap: 20px;
            position: relative;
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .home-user-info:hover {
            transform: translateY(-5px);
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
        }
        .home-user-info::before {
            content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 120px;
            height: 120px;
            background: radial-gradient(circle, rgba(26, 173, 25, 0.05) 0%, rgba(26, 173, 25, 0) 70%);
            border-radius: 50%;
            transform: translate(30%, -30%);
        }
        .home-user-info .avatar {
            width: 70px;
            height: 70px;
            border-radius: 50%;
            border: 3px solid #f0f8f0;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
        }
        .home-user-info:hover .avatar {
            transform: scale(1.05);
        }
        .home-user-info .user-detail {
            flex: 1;
        }
        .home-user-info .nickname {
            font-size: 18px;
            font-weight: 600;
            margin-bottom: 8px;
            color: #222;
        }
        .home-user-info .score {
            font-size: 20px;
            color: #1aad19;
            font-weight: bold;
            display: flex;
            align-items: center;
        }
        .home-user-info .score::after {
            content: '';
            display: inline-block;
            width: 24px;
            height: 24px;
            background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiIGZpbGw9IiMxYWFkMTkiLz4KPHBhdGggZD0iTTEyIDE2VjEwIiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMi41Ii8+CjxwYXRoIGQ9Ik0xNSAxM0wxMSA5IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMi41Ii8+Cjwvc3ZnPg==");
            background-size: contain;
            margin-left: 8px;
        }
        
        /* 规则说明样式 */
        .rule-card {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 16px;
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .rule-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
        }
        .rule-card .card-title {
            font-size: 20px;
            margin-bottom: 15px;
            padding-bottom: 12px;
            border-bottom: 2px solid #f0f8f0;
            color: #1aad19;
            font-weight: 600;
            display: flex;
            align-items: center;
        }
        .rule-card .card-title::before {
            content: '';
            display: inline-block;
            width: 4px;
            height: 20px;
            background: #1aad19;
            border-radius: 2px;
            margin-right: 10px;
        }
        .rule-card .rule-list {
            font-size: 15px;
            line-height: 1.8;
            color: #555;
        }
        .rule-card .rule-list li {
            margin-bottom: 12px;
            list-style: none;
            position: relative;
            padding-left: 24px;
        }
        .rule-card .rule-list li:before {
            content: "✓";
            color: #1aad19;
            position: absolute;
            left: 0;
            font-size: 18px;
            font-weight: bold;
        }
        
        /* 原有样式 */
        /*
        .user-info {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 16px;
            padding: 25px;
            margin-bottom: 20px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
            display: none;
        }
        .user-info .avatar {
            width: 90px;
            height: 90px;
            border-radius: 50%;
            margin: 0 auto 15px;
            display: block;
            border: 4px solid #f0f8f0;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }
        .user-info .nickname {
            text-align: center;
            font-size: 20px;
            margin-bottom: 12px;
            font-weight: 600;
        }
        .user-info .score {
            text-align: center;
            font-size: 28px;
            color: #1aad19;
            font-weight: bold;
        }
        */
        
        .btn {
            display: block;
            width: 100%;
            padding: 16px;
            border: none;
            border-radius: 12px;
            font-size: 17px;
            color: white;
            background: linear-gradient(135deg, #1aad19 0%, #0f7000 100%);
            cursor: pointer;
            text-align: center;
            text-decoration: none;
            margin-bottom: 12px;
            font-weight: 500;
            box-shadow: 0 4px 15px rgba(26, 173, 25, 0.2);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }
        .btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: all 0.6s ease;
        }
        .btn:hover::before {
            left: 100%;
        }
        .btn:active {
            transform: translateY(2px);
            box-shadow: 0 2px 8px rgba(26, 173, 25, 0.2);
        }
        .btn-gray {
            background: linear-gradient(135deg, #999 0%, #666 100%);
            box-shadow: 0 4px 15px rgba(100, 100, 100, 0.2);
        }
        .btn-blue {
            background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%);
            box-shadow: 0 4px 15px rgba(24, 144, 255, 0.2);
        }
        .btn-red {
            background: linear-gradient(135deg, #f5222d 0%, #cf1322 100%);
            box-shadow: 0 4px 15px rgba(245, 34, 45, 0.2);
        }
        
        .card {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 16px;
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .card:hover {
            transform: translateY(-3px);
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
        }
        .card-title {
            font-size: 20px;
            margin-bottom: 20px;
            padding-bottom: 12px;
            border-bottom: 2px solid #f0f8f0;
            color: #222;
            font-weight: 600;
            display: flex;
            align-items: center;
        }
        .card-title::after {
            content: '';
            flex: 1;
            height: 2px;
            background: linear-gradient(90deg, #f0f8f0, transparent);
            margin-left: 10px;
        }
        
        .form-item {
            margin-bottom: 20px;
        }
        .form-item label {
            display: block;
            margin-bottom: 8px;
            font-size: 15px;
            color: #555;
            font-weight: 500;
        }
        .form-item input {
            width: 100%;
            padding: 14px 16px;
            border: 2px solid #e8e8e8;
            border-radius: 10px;
            font-size: 16px;
            transition: all 0.3s ease;
            background: #fafafa;
        }
        .form-item input:focus {
            outline: none;
            border-color: #1aad19;
            background: #ffffff;
            box-shadow: 0 0 0 4px rgba(26, 173, 25, 0.1);
        }
        
        .form-item select {
    width: 100%;
    padding: 14px 16px;
    border: 2px solid #e8e8e8;
    border-radius: 10px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #fafafa;
    /* 关键：移除默认下拉箭头，保持界面清爽，或自定义箭头 */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    /* 自定义箭头背景（可选，如果你想要箭头） */
    /* background-image: url("data:image/svg+xml,..."); 这里可以放一个向下的SVG箭头 */
    /* background-repeat: no-repeat; */
    /* background-position: right 15px center; */
}

.form-item select:focus {
    outline: none;
    border-color: #1aad19;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(26, 173, 25, 0.1);
}
        
        .goods-item {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 12px;
            padding: 15px;
            text-align: center;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }
        .goods-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 4px;
            background: linear-gradient(90deg, #1aad19, #148800);
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        .goods-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
        }
        .goods-item:hover::before {
            opacity: 1;
        }
        .goods-item img {
    width: 100%;
    aspect-ratio: 4 / 3; /* 固定宽高比，移动端电脑端自动等比例 */
    object-fit: cover; /* 保持图片比例，裁剪多余部分 */
    border-radius: 8px;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
    display: block; /* 避免图片底部留白 */
}
        .goods-item:hover img {
            transform: scale(1.05);
        }
        .goods-item .name {
    font-size: 15px;
    margin-bottom: 8px;
    font-weight: 500;
    color: #333;
    white-space: normal;
    word-wrap: break-word;
    word-break: break-all;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 40px; 
}
        .goods-item .score {
            color: #f5222d;
            font-weight: bold;
            margin-bottom: 12px;
            font-size: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .goods-item .score::before {
            content: '';
            display: inline-block;
            width: 18px;
            height: 18px;
            background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjciIGZpbGw9IiNmNTIyMmQiLz4KPHBhdGggZD0iTkgxM1Y2IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0xMiA5TDggNSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+");
            background-size: contain;
            margin-right: 4px;
        }
        
        .record-list {
            max-height: 320px;
            overflow-y: auto;
            padding-right: 8px;
        }
        .record-list::-webkit-scrollbar {
            width: 6px;
        }
        .record-list::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 3px;
        }
        .record-list::-webkit-scrollbar-thumb {
            background: #ddd;
            border-radius: 3px;
        }
        .record-list::-webkit-scrollbar-thumb:hover {
            background: #1aad19;
        }
        .record-item {
            padding: 15px;
            border-bottom: 1px solid #f0f0f0;
            font-size: 15px;
            border-radius: 8px;
            margin-bottom: 8px;
            background: #fafafa;
            transition: all 0.3s ease;
        }
        .record-item:hover {
            background: #f5f5f5;
            transform: translateX(5px);
        }
        .record-item:last-child {
            border-bottom: none;
            margin-bottom: 0;
        }
        .record-item .name {
            font-weight: 600;
            margin-bottom: 8px;
            color: #222;
            display: flex;
            justify-content: space-between;
        }
        .record-item .info {
            color: #666;
            font-size: 13px;
            line-height: 1.6;
        }
        
        /* 底部标签栏固定在容器内，而非整个屏幕 */
.tab-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 750px;  /* 和容器保持一致 */
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border-top: 1px solid #eee;
    z-index: 999;
    box-shadow: 0 -2px 15px rgba(0, 0, 0, 0.05);
    padding: 8px 0 0;
}
        .tab-item {
            flex: 1;
            padding: 10px 0;
            text-align: center;
            color: #999;
            font-size: 12px;
            transition: all 0.3s ease;
            position: relative;
        }
        .tab-item.active {
            color: #1aad19;
        }
        .tab-item.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 30px;
            height: 3px;
            background: #1aad19;
            border-radius: 3px;
        }
        .tab-item i {
            display: block;
            font-size: 22px;
            margin-bottom: 5px;
            transition: all 0.3s ease;
            line-height: 26px; /* 行高匹配图标高度 */
        }
        .tab-item.active i {
            transform: scale(1.1);
        }
        
        .page {
            display: none;
            animation: fadeIn 0.5s ease;
        }
        .page.active {
            display: block;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        .loading {
            text-align: center;
            padding: 30px;
            color: #999;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .loading::before {
            content: '';
            width: 40px;
            height: 40px;
            border: 3px solid #f0f0f0;
            border-top-color: #1aad19;
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin-bottom: 15px;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }
        
        .tip {
            text-align: center;
            padding: 30px;
            color: #999;
            font-size: 15px;
        }
        
        .modal {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0, 0, 0, 0.5);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 1000;
            backdrop-filter: blur(5px);
            animation: modalFadeIn 0.3s ease;
        }
        @keyframes modalFadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        .modal-content {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 16px;
            padding: 25px;
            max-width: 320px;
            width: 90%;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
            transform: scale(0.9);
            animation: modalScaleIn 0.3s ease forwards;
        }
        @keyframes modalScaleIn {
            to { transform: scale(1); }
        }
        .modal-title {
            font-size: 20px;
            margin-bottom: 20px;
            text-align: center;
            font-weight: 600;
            color: #222;
        }
        .modal-btn {
            display: flex;
            gap: 12px;
            margin-top: 25px;
        }
        .modal-btn button {
            flex: 1;
            padding: 12px;
            border: none;
            border-radius: 8px;
            color: white;
            cursor: pointer;
            font-size: 16px;
            font-weight: 500;
            transition: all 0.3s ease;
        }
        
/* 模拟图标 */
.icon {
    display: inline-block;
    width: 26px;
    height: 26px;
    position: relative;
    margin: 0 auto; /* 水平居中 */
}
.icon-home::before,
.icon-sign::before,
.icon-exchange::before,
.icon-record::before,
.icon-user::before {
    content: '';
    position: absolute;
    top: 50%;       /* 垂直居中 */
    left: 50%;      /* 水平居中 */
    transform: translate(-50%, -50%); /* 精准居中 */
    width: 22px;    /* 图标内部尺寸 */
    height: 22px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* 图标背景图URL*/
.icon-home::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23666'/%3E%3Cpath d='M12 7L8 12H16L12 7Z' stroke='%23fff' stroke-width='2'/%3E%3Cpath d='M12 17V19' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}
.icon-sign::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23666'/%3E%3Cpath d='M12 16V10' stroke='%23fff' stroke-width='2'/%3E%3Cpath d='M15 13L11 9' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}
.icon-exchange::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6H15V4H9V6H5.00001C3.89543 6 3 6.89543 3 8V16C3 17.1046 3.89543 18 5.00001 18H15V20H19C20.1046 20 21 19.1046 21 18V8C21 6.89543 20.1046 6 19 6Z' fill='%23666'/%3E%3Cpath d='M15 14H10V10H15V14Z' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}
.icon-record::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 18V5L3 20H21V5H19V18' stroke='%23666' stroke-width='2'/%3E%3Cpath d='M10 8H4V6H10V8Z' stroke='%23666' stroke-width='2'/%3E%3Cpath d='M18 8H14V6H18V8Z' stroke='%23666' stroke-width='2'/%3E%3C/svg%3E");
}
.icon-user::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8' r='4' fill='%23666'/%3E%3Ccircle cx='12' cy='16' r='7' fill='%23666'/%3E%3C/svg%3E");
}
/* 激活状态下的图标颜色变 */
.tab-item.active .icon-home::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='12' fill='%231aad19'/%3E%3Cpath d='M12 7L8 12H16L12 7Z' stroke='%23fff' stroke-width='2'/%3E%3Cpath d='M12 17V19' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}
.tab-item.active .icon-sign::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10' fill='%231aad19'/%3E%3Cpath d='M12 16V10' stroke='%23fff' stroke-width='2'/%3E%3Cpath d='M15 13L11 9' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}
.tab-item.active .icon-exchange::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6H15V4H9V6H5.00001C3.89543 6 3 6.89543 3 8V16C3 17.1046 3.89543 18 5.00001 18H15V20H19C20.1046 20 21 19.1046 21 18V8C21 6.89543 20.1046 6 19 6Z' fill='%231aad19'/%3E%3Cpath d='M15 14H10V10H15V14Z' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E");
}
.tab-item.active .icon-record::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 18V5L3 20H21V5H19V18' stroke='%231aad19' stroke-width='2'/%3E%3Cpath d='M10 8H4V6H10V8Z' stroke='%231aad19' stroke-width='2'/%3E%3Cpath d='M18 8H14V6H18V8Z' stroke='%231aad19' stroke-width='2'/%3E%3C/svg%3E");
}
.tab-item.active .icon-user::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='8' r='4' fill='%231aad19'/%3E%3Ccircle cx='12' cy='16' r='7' fill='%231aad19'/%3E%3C/svg%3E");
}
        
        /* 未授权状态样式 */
        #unauthorized {
            background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
            border-radius: 16px;
            padding: 40px 20px;
            text-align: center;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
            margin-top: 20px;
        }
        #unauthorized .tip {
            padding: 0;
        }
        
        /* 排行榜样式 */
        /*
.rank-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.rank-item {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    background: #fafafa;
    border-radius: 10px;
    transition: all 0.3s ease;
}
.rank-item:hover {
    background: #f0f8f0;
    transform: translateX(5px);
}
.rank-item .rank-num {
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    border-radius: 50%;
    background: #eee;
    color: #666;
    font-weight: bold;
    font-size: 14px;
    margin-right: 15px;
}
/* 前三名特殊样式 */
/*
.rank-item .rank-num.top1 {
    background: linear-gradient(135deg, #ffd700 0%, #f0c800 100%);
    color: white;
}
.rank-item .rank-num.top2 {
    background: linear-gradient(135deg, #c0c0c0 0%, #a8a8a8 100%);
    color: white;
}
.rank-item .rank-num.top3 {
    background: linear-gradient(135deg, #cd7f32 0%, #b86f22 100%);
    color: white;
}
.rank-item .avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 15px;
    border: 2px solid #f0f0f0;
}
.rank-item .info {
    flex: 1;
}
.rank-item .nickname {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    margin-bottom: 4px;
}
.rank-item .score {
    font-size: 14px;
    color: #1aad19;
    font-weight: bold;
}
.rank-item .self-tag {
    background: #1aad19;
    color: white;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 10px;
    margin-left: 8px;
}

*/

/* 游戏推荐列表样式 */
.game-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.game-item {
    display: flex;
    align-items: center;
    padding: 15px;
    background: #fafafa;
    border-radius: 12px;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
}

.game-item:hover {
    background: #f0f8f0;
    transform: translateX(5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.game-item .game-icon {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    margin-right: 15px;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.game-item .game-info {
    flex: 1;
}

.game-item .game-name {
    font-size: 17px;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
}

.game-item .game-desc {
    font-size: 13px;
    color: #999;
    line-height: 1.4;
    /* 限制显示2行 */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.game-item .game-tag,
.game-item .goods-score-tag {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 20px;
    margin-left: 10px;
    white-space: nowrap;
    font-weight: bold;
}

/* 游戏特有的绿色标签 */
.game-item .game-tag {
    background: linear-gradient(135deg, #1aad19 0%, #0f7000 100%);
    color: white;
}

/* 商品特有的红色积分标签（在右侧） */
.game-item .goods-score-tag {
    background: linear-gradient(135deg, #f5222d 0%, #cf1322 100%);
    color: white;
    display: flex;
    align-items: center;
}

/* 积分图标（小） */
.game-item .goods-score-tag::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjciIGZpbGw9IiNmZmYiLz4KPHBhdGggZD0iTkgxM1Y2IiBzdHJva2U9IiNmNTIyMmQiIHN0cm9rZS13aWR0aD0iMiIvPjxwYXRoIGQ9Ik0xMiA5TDggNSIgc3Ryb2tlPSIjZjUyMjJkIiBzdHJva2Utd2lkdGg9IjIiLz4KPC9zdmc+");
    background-size: contain;
    margin-right: 4px;
}

/* 弹窗按钮统一样式 */
.modal-btn button {
    flex: 1;
    padding: 12px;
    border: none;
    border-radius: 8px;
    color: white;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
}
.modal-btn .modal-cancel {
    background: linear-gradient(135deg, #999 0%, #666 100%);
    box-shadow: 0 4px 15px rgba(100, 100, 100, 0.2);
}
.modal-btn .modal-confirm {
    background: linear-gradient(135deg, #1aad19 0%, #0f7000 100%);
    box-shadow: 0 4px 15px rgba(26, 173, 25, 0.2);
}