.stock-recommend-wrapper {
    max-width: 960px;
    margin: 30px auto;
    padding: 20px;
    background: #f9fafb;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.06);
    animation: fadeIn 0.8s ease-in-out;
}

.stock-strategy-title {
    font-size: 1.4em;
    margin-top: 20px;
    margin-bottom: 10px;
    color: #333;
    border-left: 4px solid #6366f1;
    padding-left: 10px;
}

.stock-card-group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.stock-card {
    flex: 1 1 200px;
    background: white;
    border-radius: 10px;
    padding: 12px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    cursor: pointer;
    transition: all 0.3s ease;
}
.stock-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.stock-card.active {
    background: #e0f2fe;
    border-left: 4px solid #2563eb;
}
.stock-code {
    font-weight: bold;
    font-size: 1.1em;
    color: #1f2937;
}
.stock-name {
    color: #374151;
}
.stock-score {
    font-size: 0.95em;
    color: #16a34a;
    margin-top: 5px;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.tip-card {
    background: #fef3c7;
    color: #92400e;
    border-left: 4px solid #f59e0b;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-radius: 10px;
    margin-top: 10px;
    animation: pulse 2s infinite;
}

.login-button {
    background-color: #2563eb;
    color: white;
    padding: 6px 12px;
    border-radius: 8px;
    text-decoration: none;
    margin-top: 10px;
    transition: background-color 0.3s ease;
}
.login-button:hover {
    background-color: #1d4ed8;
}

@keyframes pulse {
    0% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.7); transform: scale(1);}
    50% { box-shadow: 0 0 0 10px rgba(245, 158, 11, 0); transform: scale(1.1);}
    100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); transform: scale(1);}
}

/* @keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
} */

.db-error {
    background-color: #ffdddd; /* 浅红色背景 */
    color: #d8000c; /* 深红色文本 */
    border-left: 6px solid #d8000c; /* 侧边红色边框 */
    padding: 15px; /* 内边距 */
    margin: 20px 0; /* 外边距 */
    border-radius: 5px; /* 圆角 */
    font-family: 'Arial', sans-serif; /* 字体 */
    font-size: 16px; /* 字体大小 */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 添加阴影 */
    transition: background-color 0.3s ease; /* 添加过渡效果 */
}